老师帮忙看看
来源:2-7 案例:求数组元素的最大值
慕仔0431810
2019-10-07 22:59:08
package math;
import java.util.Scanner;
public class breakdemo {
public static void main(String[] args) {
int[] array=new int[5];
Scanner sc=new Scanner(System.in);
int max=array[0];
int min=array[0];
for(int i=0;i<array.length;i++)
{ System.out.println("请输入第"+(i+1)+"数:");
array[i]=sc.nextInt();
}
for(int i=1;i<array.length;i++)
{
if(max<array[i])
max=array[i];
}
System.out.println("最大值为:"+max);
for(int i=1;i<array.length;i++)
{
if(min>array[i])
min=array[i];
}
System.out.println("最小值为:"+min);
}
}
以上代码可以输出最大值和最小值,但是会有问题,数值不对;当我把int max 和int min放在下面就可以输出正确的最大值和最小值,这是为什么啊,想了半天了
package math;
import java.util.Scanner;
public class breakdemo {
public static void main(String[] args) {
int[] array=new int[5];
Scanner sc=new Scanner(System.in);
for(int i=0;i<array.length;i++)
{ System.out.println("请输入第"+(i+1)+"数:");
array[i]=sc.nextInt();
}
int max=array[0];
int min=array[0];
for(int i=1;i<array.length;i++)
{
if(max<array[i])
max=array[i];
}
System.out.println("最大值为:"+max);
for(int i=1;i<array.length;i++)
{
if(min>array[i])
min=array[i];
}
System.out.println("最小值为:"+min);
}
}
换到上面和下面有什么区别
1回答
同学你好,1、首先 int[] array=new int[5];是声明一个数组array,声明后数组中的每个元素默认为0,例如;

2、将 int max=array[0]; int min=array[0]; 赋值语句放在array[i] = sc.nextInt();赋值语句之前,获取到的数组元素的默认值0,在min最小值的比较中,0比输入的数据小,最后得到的最小值min就是0.
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题