Java基础知识强化之集合框架笔记36:List练习之键盘录入多个数据在控制台输出最大值

1. 键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值

分析:
    创建键盘录入数据对象
    键盘录入多个数据,我们不知道多少个,所以用集合存储
    以0结束,这个简单,只要键盘录入的数据是0,我就不继续录入数据了
  •  把集合转成数组
  •  对数组排序
    获取该数组中的最大索引的值

 

2. 代码实现:

 1 package cn.itcast_03;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Arrays;
 5 import java.util.Scanner;
 6 
 7 /*
 8  * 键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值
 9  * 
10  * 分析:
11  *         A:创建键盘录入数据对象
12  *         B:键盘录入多个数据,我们不知道多少个,所以用集合存储
13  *         C:以0结束,这个简单,只要键盘录入的数据是0,我就不继续录入数据了
14  *         D:把集合转成数组
15  *         E:对数组排序
16  *         F:获取该数组中的最大索引的值
17  */
18 public class ArrayListDemo {
19     public static void main(String[] args) {
20         // 创建键盘录入数据对象
21         Scanner sc = new Scanner(System.in);
22 
23         // 键盘录入多个数据,我们不知道多少个,所以用集合存储
24         ArrayList<Integer> array = new ArrayList<Integer>();
25 
26         // 以0结束,这个简单,只要键盘录入的数据是0,我就不继续录入数据了
27         while (true) {
28             System.out.println("请输入数据:");
29             int number = sc.nextInt();
30             if (number != 0) {
31                 array.add(number);
32             } else {
33                 break;
34             }
35         }
36 
37         // 把集合转成数组
38         // public <T> T[] toArray(T[] a)
39         Integer[] i = new Integer[array.size()];
40         // Integer[] ii = array.toArray(i);
41         array.toArray(i);
42         // System.out.println(i);
43         // System.out.println(ii);
44 
45         // 对数组排序
46         // public static void sort(Object[] a)
47         Arrays.sort(i);
48 
49         // 获取该数组中的最大索引的值
50         System.out.println("数组是:" + arrayToString(i) + "最大值是:"
51                 + i[i.length - 1]);
52     }
53 
54     public static String arrayToString(Integer[] i) {
55         StringBuilder sb = new StringBuilder();
56 
57         sb.append("[");
58         for (int x = 0; x < i.length; x++) {
59             if (x == i.length - 1) {
60                 sb.append(i[x]);
61             } else {
62                 sb.append(i[x]).append(", ");
63             }
64         }
65         sb.append("]");
66 
67         return sb.toString();
68     }
69 }

运行结果,如下:

posted on 2015-10-05 17:03  鸿钧老祖  阅读(707)  评论(0编辑  收藏  举报

导航