【发布时间】:2016-10-14 16:29:46
【问题描述】:
我是一名二年级的 CS 学生,正在尝试解决一个简单的方法。逻辑相当简单,但不知何故我仍然得到一个错误,虽然我不知道这里有什么问题。
问题:
课程开始:
private Integer dt[];
private int size;
IntManager(int k){
dt = new Integer[k];
size = 0;
}
类内部的方法:
public Integer max(){
//return largest value in dt; null if size == 0
if (size == 0) return null;
else{
Integer biggest = dt[0];//trouble here; changing to int won't help & var name also
for (int j = 0; j < size ; j++) {
if (dt[j] < biggest) biggest = dt[j];
}
}
return biggest;
}
主类:
IntManager num = new IntManager(100);
for (int j = 0; j < 20 ; j++) {
int x = (int)(Math.random()*10);
num.add(x);
}
num.add(57);
System.out.println(num);
System.out.println(num.found(5));//Ignore this
System.out.println(num.max());
【问题讨论】:
-
将
return biggest;移动到else分支内。 -
@Turamarth 谢谢你成功了。虽然很奇怪
-
@GheorgheDonciu:你会用相同的文本替换你的错误图像吗?人们使用文本更容易(它可以复制+粘贴,它可以与屏幕阅读器一起使用,搜索引擎会选择它)。谢谢。