我尝试编写程序时遇到了一些麻烦。
double max = 0, min = 0;
int i;
double array[] = new double[10];
Scanner input = new Scanner(System.in);
for (i = 0; i < 10; i++) {
System.out.println("Give the " + (i + 1) + " number");
array[i] = input.nextDouble();
}
for (i = 0; i < 10; i++) {
if (array[i] > max) {
max = array[i];
}
for (i = 0; i < 10; i++) {
if (array[i] < min) {
min = array[i];
}
}
}
System.out.println("The Max is :" + max);
System.out.println("The Min is :" + min);
当我输入包含一个最大数字和一个最小数字的10个数字时, 结果是 Max是:最大数字 最小值为:0.0
总是最小的我得到0.0无论我输入什么。 No 2我会打字,No 4我会输入一个最小的数字(总是单独启动),每次我得到0.0。
答案 0 :(得分:3)
您的最小值为零,我假设您的数据没有任何小于零的值。
尝试将min
初始值设置为Double.MAX_VALUE
答案 1 :(得分:1)
在数字输入数组之前初始化最大值和最小值,当找到最大值和最小值时,首先在数组中输入数字然后将它们与数组[0]进行比较。 第二件事是你不需要for循环来检查你是否需要更改max或min,你可以在一个for循环中完成。 试试这个:
double array[] = new double[10];
int i;
Scanner input = new Scanner(System.in);
for (i = 0; i < 10; i++) {
System.out.println("Give the " + (i + 1) + " number");
array[i] = input.nextDouble();
}
double max = array[0], min = array[0];
for (i = 0; i < 10; i++) {
if (array[i] > max) {
max = array[i];
}
if (array[i] < min) {
min = array[i];
}
}
System.out.println("The Max is :" + max);
System.out.println("The Min is :" + min);
答案 2 :(得分:0)
你的花括号不合适。您将在SYSOUT之前结束最大循环。
double max = 0, min = 0;
int i;
double array[] = new double[10] ;
Scanner input = new Scanner (System.in) ;
for (i = 0; i < 10; i++)
{
System.out.println("Give the " + (i+1) + " number") ;
array[i] = input.nextDouble();
}
max = array[0];
min = array[0];
for (i = 0; i < 10; i++) {
if (array[i] > max) {
max = array[i];
}
}
for (i = 0; i < 10; i++) {
if (array[i] < min) {
min = array[i];
}
}
System.out.println("The Max is :" + max);
System.out.println("The Min is :" + min);
运行它。它会给出正确的结果。
答案 3 :(得分:0)
两个简单的更正:
见下面的代码:
int i;
double array[] = new double[10] ;
Scanner input = new Scanner (System.in) ;
System.out.println("Give the " + (1) + " number") ;
array[0] = input.nextDouble();
double max = array[0], min = array[0];
for (i = 1; i < 10; i++)
{
System.out.println("Give the " + (i+1) + " number") ;
array[i] = input.nextDouble();
if(array[i] > max)
max = array[i] ;
if (array[i] < min)
min = array[i];
}
System.out.println("The Max is :" + max);
System.out.println("The Min is :" + min);