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工具)升级版
1165172 学习 · 17581 问题
相似问题