weixin_慕移动4434633
2016-09-03 03:21
这是我的代码,习题中已经给出了7个元素。
***但是我现在,不想用这7个已给元素,我想让用户自己输入元素,输入个数不限,然后计算所有输入元素中的最大值,最小值和平均值。
package zzz;
import java.util.ArrayList;
import java.util.Scanner;
public class Q1 {
public static void main(String[] args) {
ArrayList<Integer> Nums = new ArrayList<Integer>();
Scanner nums = new Scanner(System.in);
int n = -1;
//输入数字 输入-1时退出输入
while (true) {
try {
System.out.println("请输入数字以-1结尾");
n = nums.nextInt();
if (n == -1) {
break;
}
Nums.add(n);
}
catch (Exception e) {
}
}
System.out.println("Number = " + Nums);
/* for (int number : Nums) {
System.out.println("Number = " + Nums);
}*/
Integer NUMS[] = new Integer[Nums.size()];
NUMS=Nums.toArray(NUMS);
int max = NUMS[0]; // 假定最大值为数组中的第一个元素
int min = NUMS[0]; // 假定最小值为数组中的第一个元素
double sum = 0;// 累加值
double avg = 0;// 平均值
int j=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];
j++;
}
// 求平均值
avg=sum/j;
System.out.println("数组中的最大值:" + max);
System.out.println("数组中的最小值:" + min);
System.out.println("数组中的平均值:" + avg);
}
}
java是静态语言,如果使用数组Arrays的话必须先分配好空间,也就是活确定元素的个数才能运用,想在不确定个数的前提下输入数据可以采用java.util.Vector.
Java入门第一季(IDEA工具)
1168264 学习 · 18754 问题
相似问题