我正在学习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]);
}
}
}
答案 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。