在我的代码中,我试图输入它所做的10个数字并输出它所做的最小数字并输出它没有的最大数字,我试图改变<和>在最大算法中但它不起作用。有没有人对我该做什么有任何建议? 提前致谢
import javax.swing.JOptionPane;
public class Results {
public static void main (String args []){
//Variables
//Set up Array
int arr[]; //Declare Array
arr = new int [10];
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;;
//Input
//Set up loop
//Quiz 1
for(int i = 0; i<10;i=i+1){
arr[i]=Integer.parseInt(JOptionPane.showInputDialog(null, "Please enter a number for quiz 1"));
}
//Minimum
for (int i = 0; i < min; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
//Maximum
for (int i = 0; i > max; i00) {
if (arr[i] > max) {
max = arr[i];
}
}
//Output
JOptionPane.showMessageDialog(null, "The minimum is " +min);
JOptionPane.showMessageDialog(null, "The maximum is " +max);
}
}
答案 0 :(得分:1)
你的for循环检查最小/最大条件是错误的。因此,如果您有1,2,0这样的数字,并且您试图使用现有代码找到min max,那么循环min将是:
i =0, i<MAX integer value
assign min as 1
i=1, i<1
it will exit and you wont get 0 as output
同样适用于具有最大条件检查的循环。
将for循环更改为:
for (int i = 0; i < arr.length; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
for (int i = 0; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}