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
何事都只需坚持..
难?
维熟尔。
LZL的自学历程...只需坚持