所以我正在编写一个程序,你写了10个标记,它会告诉你最大值和最小值。
我对最小值有问题,因为最大值有效。
我的问题是,它显示的是输入的第一个标记,而不是最差标记。
这是使用Jcreator(Java)
public void worstEnglish() {
System.out.println("The Worst English Mark Is");
//Array
int worstEnglish = english[0];
//Method
for (int i = 0; i < english.length; i++) {
if (english[i] < worstEnglish) {
english[i] = worstEnglish;
}//End Of If
}//End of loop
}
答案 0 :(得分:4)
您要将worstEnglish变量的值分配给english数组而不是相反的方式
if(english[i] < worstEnglish){
worstEnglish = english[i];
}
答案 1 :(得分:2)
worstEnglish = english[i];
交换作业。现在你没有更新worstEnglish变量。
public void worstEnglish() {
System.out.println("The Worst English Mark Is");
//Array
int worstEnglish = english[0];
//Method
for (int i=0; i<english.length; i++){
if(english[i] < worstEnglish){
worstEnglish = english[i];
}//End Of If
}//End of loop
答案 2 :(得分:0)
您是否尝试过使用Collections.min()
和Collections.max()
进行简化,而不是对数组进行迭代?
由于您已将最差的英语数组键入为Int,我假设它们是数组中的整数值。
我想象它只是worstEnglish = Collection.min(english);
请参阅此示例:Finding the max/min value in an array of primitives using Java