我无法运行数据规范化最大值的代码

时间:2015-02-27 12:25:31

标签: java methods

我正在学习java,我正在尝试使用方法编写关于数据规范化的代码,但是当我在方法之间进行调用时,它会给我一个错误:

  

线程中的异常" main" java.lang.Error:未解决的编译问题:
      令牌上的语法错误" int",新的预期
      变量必须提供维度表达式或数组初始值设定项       a无法解析为类型
      令牌上的语法错误" int",新的预期
      变量必须提供维度表达式或数组初始值设定项       b无法解析为类型
      令牌&#34 ;;"上的语法错误,此令牌后的字节为
      重复的局部变量donusmusVeri
      veri无法解析为类型
      该表达式的目标类型必须是功能接口
      令牌上的语法错误" - ",:: expect
      类型不匹配:无法从byte []转换为double []

at Normalization.minMaxNormalization(Normalization.java:38)
at Normalization.main(Normalization.java:52)

这是我的代码:

public class Normalization {

    int minFind(int data[]) {
        int min = 0;

        for (int i = 0; i < 4; i++) {
            if (min < data[i]) {
                min = data[i];

            }
        }

        return min;
    }

    int maxFind(data y[]) {
        int max = 0;

        for (int i = 0; i > 4; i++) {
            if (max > data[i]) {
                max = data[i];

            }
        }

        return max;
    }

    double[] minMaxNormalization(int data[]){
        double[] donusmusVeri=new double[data.length];
        double MIN= 0.0;double MAX= 0.0;
        MIN=  minFind(int data []); 
        MAX=   maxFind(int data[]); 

        [] donusmusVeri= ( veri[]-MIN/ MAX -MIN); 

        return donusmusVeri;
        }

    public static void main(String[] args) {
        int[] X = { 30, 36, 45, 50, 62 };
        double[] Xx = new double[X.length];
        Normalization nm = new Normalization();
        Xx = nm.minMaxNormalization(X);
        for (int j = 0; j < 4; j++) {
            System.out.println(X[j]);
        }
        for (int i = 0; i < Xx.length; i++) {
            System.out.print(Xx[i]);
        }

    }

}

1 个答案:

答案 0 :(得分:0)

一些事情:

  • int maxFind(data y[]){你应该期望它接受像int maxFind(int data[]){这样的整数值数组
  • 您的代码如下:

    double MIN= 0.0;double MAX= 0.0;
    MIN=  minFind(int data []); 
    MAX=   maxFind(int data[]); 
    [] donusmusVeri= ( veri[]-MIN/ MAX -MIN);//not sure what you are trying to do here
    

看到min / maxFind方法返回整数,所以你需要整数类型的MIN / MAX变量而不是double。