首页 > 代码库 > java 16 -16 键盘输入数据求最大值

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  

 

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