java 16 -16 键盘输入数据求最大值

 

需求:
  键盘录入多个数据,输入0时得到结果,输出最大的一个
分析:
  A:创建键盘录入
  B:由于数据个数不确定,用集合接收
  C:把键盘录入的数据放进集合中
  D:因为没学集合的排序,所以得先把集合转成数组
    public Object[] toArray() 按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。
    public <T> T[] toArray(T[] a) 按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。
  E:对数组的数据进行排序
  F:输出索引为length - 1那个数据
  G:打印,我想要再次打印出获取到的集合
    a:创建一个方法,把数组转字符串进行拼接
      返回类型:String
      参数列表:Integer xx
    b:打印时引用这个方法

 1 package cn_JDK5new;
 2 
 3 import java.awt.List;
 4 import java.util.ArrayList;
 5 import java.util.Arrays;
 6 import java.util.Scanner;
 7 
 8 public class ArrayLIstDemo2 {
 9 
10 
11 public static void main(String[] args) {
12 //创建键盘录入
13 Scanner sc = new Scanner (System.in);
14 //创建集合
15 ArrayList <Integer> list = new ArrayList<Integer>();
16 
17 //把键盘录入的数据放进集合中
18 while (true){
19 System.out.println("请输入数据:");
20 int i = sc.nextInt();
21 
22 if(i != 0){
23 list.add(i);
24 }
25 else{
26 break;
27 }
28 }
29 //创建数组,长度和list的一样
30 //把集合转换为数组
31 // public <T> T[] toArray(T[] a)
32 Integer[] in = new Integer[list.size()];    
33 list.toArray(in);
34 
35 //对数组内的数据进行排序
36 //Arrays:此类包含用来操作数组(比如排序和搜索)的各种方法。
37 Arrays.sort(in);
38 
39 System.out.println("数组是:"+arraytoString(in)+"\t最大值是"+in[in.length - 1]);
40 }
41 //创建一个方法,把数组进行拼接
42 //数组转字符串进行拼接
43 public static String arraytoString(Integer[] in){
44 //要进行拼接,创建一个字符串缓冲区
45 StringBuffer sb = new StringBuffer();
46 //定义缓冲区的开头
47 sb.append("[");
48 //对数组进行遍历,拼接到字符缓冲区
49 for(int x = 0; x < in.length ;x++){
50 if( x < in.length - 1){
51 sb.append(in[x]+",");
52 }
53 else{
54 sb.append(in[x]);
55 }    
56 }
57 //定义缓冲区结尾
58 sb.append("]");    
59 //字符串缓冲区转为字符串,并返回    
60 return sb.toString();
61 }
62 }
63 
64  

 

posted @ 2016-09-23 08:21  卡拉瓦  阅读(272)  评论(0编辑  收藏  举报