我正在编写一个代码,用于计算args变量中的最大数量以及args中最高和最低整数之间的最大差异。
目前我的代码如下:
public int max(int [] args) {//array of ints
int m = args[0]; // first element
//initialisation; condition; update
for (int j = 1; j < args.length; ++j) {
// statement in a block:
if (m < args[j]) {
m = nums[j];
// if m is less than the j-th element
// then store this new smaller value
}
}
return m;
}
public int min(int [] args) {//array of integerss
int mi = nums[0]; // first element
//initialisation; condition; update
for (int j = 1; j < args.length; ++j) {
// statement in a block:
if (mi > args[j]) {
mi = args[j];
// if m is greater than the j-th element
// then store this new largest value
}
}
return mi;
} //通过将数字之和除以计数来计算平均值
public void main(String [] args) {
System.out.println(args[0]);
SimpleCalc fm = new SimpleCalc();
**System.out.println(fm.max(nums));**
**System.out.println(fm.max(nums) - fm.min(nums));**
当我使用数组时,它返回值,但似乎没有用args编译。我不知道如何解决这个问题。
答案 0 :(得分:2)
它无法编译,因为args
方法中的main
是String
的数组。您的方法将int
s数组作为参数。因此,您应该将args
String
数组转换为int
个数组,并将这个新的int
数组传递给min
和{ {1}}方法。使用max
将Integer.parseInt
转换为String
答案 1 :(得分:0)
似乎你在max()
中输了一个拼写错误:
m = nums[j]
应为m = args[j]
。
也在min()
,int mi = nums[0];
应该是int mi = args[0];
另外,nums
[主要]来自哪里?您应该在将此数组传递给max()
和min()