慕粉2007447340
2017-02-21 20:10
package com.max_min;
/*
* 创建一个容量为7的数组,从键盘获取数据61,23,4,74,13,148,20
* 寻找出最大值和最小值并计算累加值和平均值
* 要求假设最大值和最小值是同一个
*/
import java.util.Scanner;
public class decide_m {
public static void main(String[] args) {
int max,min,sum;
double avr;
System.out.println("请输入数据");
Scanner input=new Scanner(System.in);
int[] nums=new int[7];
for(int i=0;i<nums.length;i++){
int num[i]=input.nextInt();
}
}
}
num[i]在数组中已经得到了,不能再定义赋值了
import java.util.*;
public class HelloWorld {
public static void main(String[] agr) {
int sum =0;
int avg =0;
Scanner scan = new Scanner(System.in);
int []nums = new int[7];//定义长度为7的数组
for(int i=0;i<nums.length;i++){
System.out.print("请输入第"+(i+1)+"个数字:");
nums[i] = scan.nextInt();
sum = sum+nums[i];
}
Arrays.sort(nums);//把数组中的数字从小到大排序
avg = sum/nums.length;
System.out.println("累加值:"+sum);
System.out.println("平均值:"+avg);
System.out.println("最大值:"+nums[0]);
System.out.println("最小值:"+nums[nums.length-1]);
}
}
请参考如下代码:
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
int max,min,sum=0;
double avr;
System.out.println("请输入数据:");
Scanner input = new Scanner(System.in);
int[] nums = new int[7];
for (int i = 0;i < nums.length;i++) {
nums[i] = input.nextInt();
}
max=nums[0]; //初始化最大值
min=nums[0]; //初始化最小值
for (int i = 0;i < nums.length;i++) {
if(nums[i]>max){
max=nums[i]; //比较最大值
}
if(nums[i]<min){
min=nums[i]; //计算最小值
}
sum=sum+nums[i]; //计算和
}
avr=sum/nums.length; //计算平均值
System.out.println(max); //输出最大值
System.out.println(min); //输出最小值
System.out.println(avr); //输出平均值
}
}
最后你为什么要重新定义一个数组?如果是想输入到之前的nums数组里就直接改成
nums[i]=input.nextInt();
如果是想新定义的话 你的写法也错了 ,改成
int[] num = new int[7];
num[i] = input.nextInt();
最后一行的正确写法为:nums[i]=input.nextInt();
Java入门第一季(IDEA工具)升级版
1165554 学习 · 17587 问题
相似问题