用其他方法编了个,就是输入几个数来打印答案 但有错误,求大神详细解答
我犯了哪些错误啊? 能帮我指出来么,最好能详细点 麻烦了
我犯了哪些错误啊? 能帮我指出来么,最好能详细点 麻烦了
2019-05-23
package imooc;
import java.util.Scanner;
public class World {
public static void main(String[] args){
Scanner in=new Scanner(System.in);//对象名可以自定义input->in
int[] nums=new int[5];
for(int i=0;i<nums.length;++i) {//数组长度为5,用循环进行赋值
System.out.print("请输入第"+(i+1)+"个数:");
nums[i]=in.nextInt();
}
int max=nums[0],min=nums[0];//完成赋值后才定max和min的值
double avg=0,sum=0D;
for(int i=0;i<nums.length;++i) {
if(max<nums[i])max=nums[i];
if(min>nums[i])min=nums[i];
sum+=nums[i];
}
avg=sum/nums.length;
System.out.println("Max:"+max);
System.out.println("Min:"+min);
System.out.println("Avg:"+avg);
}
}
答:数组要逐个进行赋值
package com.test;
import java.util.Scanner;
public class Deme1 {
public static void main(String[] args) {//main函数
System.out.println("输入5个数");
Scanner input=new Scanner(System.in);
int[] nums=new int[5];
for(int i=0;i<nums.length;i++) {
nums[i]=input.nextInt();
}
int max=nums[0];//假定最大值是数组中的第一个元素
int min=nums[0];//假定最小值是数组中的第一个元素
double sum=0;//累加值,和
double avg=0;//平均值
for(int i=0;i<nums.length;i++){
if(nums[i]>max){
max=nums[i];
}
if(nums[i]<min) {
min=nums[i];
}
sum+=nums[i];
}
avg=sum/nums.length;
System.out.println("数组中最大的值为:"+max);
System.out.println("数组中最小的值为:"+min);
System.out.println("数组中的平均值为:"+avg);
}
}
举报