java数组元素求和,求最大值和最小值样例输入 10 1 2 3 4 5 6 7 8 9 10 样例输出 55 10 1
importjava.util.Scanner;publicclassaaa{publicstaticvoidmain(String[]args){Scannerrd=n...
import java.util.Scanner;
public class aaa {
public static void main(String[] args) {
Scanner rd=new Scanner(System.in);
int sum=0,n=0;
int max=0,min=0;
n=rd.nextInt();
int a[]=new int[n];
for(int i=0;i<n;i++){
a[i]=rd.nextInt();
sum=sum+a[i];
if(max<a[i]){
a[i]=max;
}
if(min>a[i]){
a[i]=min;
}
}
System.out.print(sum+" "+max+" "+min);
}
}
10
1 2 3 4 5 6 7 8 9 10
55 0 0
怎么修改 展开
public class aaa {
public static void main(String[] args) {
Scanner rd=new Scanner(System.in);
int sum=0,n=0;
int max=0,min=0;
n=rd.nextInt();
int a[]=new int[n];
for(int i=0;i<n;i++){
a[i]=rd.nextInt();
sum=sum+a[i];
if(max<a[i]){
a[i]=max;
}
if(min>a[i]){
a[i]=min;
}
}
System.out.print(sum+" "+max+" "+min);
}
}
10
1 2 3 4 5 6 7 8 9 10
55 0 0
怎么修改 展开
3个回答
展开全部
初始化max和min时有问题
max=a[0]
min=a[0]
你的源代码中min=0,max=0
但是你输入的是123456789 10,min就肯定会为0,因为你初始化时的min比你输入的数据都要小
还有你的两个if语句中赋值都反掉了
两个if语句改成
if(max<=a[i])
{
max=a[i];
}
if(min>=a[i])
{
min=a[i]
}
max=a[0]
min=a[0]
你的源代码中min=0,max=0
但是你输入的是123456789 10,min就肯定会为0,因为你初始化时的min比你输入的数据都要小
还有你的两个if语句中赋值都反掉了
两个if语句改成
if(max<=a[i])
{
max=a[i];
}
if(min>=a[i])
{
min=a[i]
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static void m2() { Scanner rd = new Scanner(System.in);
int sum = 0, n = 0;
Integer max = null,min = null;
n = rd.nextInt();
int a[] = new int[n];
for (int i = 0; i < n; i++) {
a[i] = rd.nextInt();
sum = sum + a[i];
max = max == null ? a[i] : max;
min = min == null ? a[i] : min;
if (max < a[i]) {
max = a[i];
}
if (min > a[i]) {
min = a[i];
}
}
System.out.print(sum + " " + max + " " + min);
}
// 你应该把用户输入的第一个数赋给 max 和 min\
// 循环中 为 max 赋值的表达应该是 max = a[i];
int sum = 0, n = 0;
Integer max = null,min = null;
n = rd.nextInt();
int a[] = new int[n];
for (int i = 0; i < n; i++) {
a[i] = rd.nextInt();
sum = sum + a[i];
max = max == null ? a[i] : max;
min = min == null ? a[i] : min;
if (max < a[i]) {
max = a[i];
}
if (min > a[i]) {
min = a[i];
}
}
System.out.print(sum + " " + max + " " + min);
}
// 你应该把用户输入的第一个数赋给 max 和 min\
// 循环中 为 max 赋值的表达应该是 max = a[i];
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class ex1 {
public static void main(String[]args){
int[]a={1,2,3,4,5,6,7,8,9,10};
int min=Integer.MAX_VALUE;
int max=Integer.MIN_VALUE;
for(int i=0;i<a.length;++i){
if(a[i]<min)
min=a[i];
if(a[i]>max)
max=a[i];
}
System.out.printf("min=%d,max=%d",min,max);
}
}
public static void main(String[]args){
int[]a={1,2,3,4,5,6,7,8,9,10};
int min=Integer.MAX_VALUE;
int max=Integer.MIN_VALUE;
for(int i=0;i<a.length;++i){
if(a[i]<min)
min=a[i];
if(a[i]>max)
max=a[i];
}
System.out.printf("min=%d,max=%d",min,max);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |