键盘录入多个数据,在控制台输出这多个数据中的最大值

demo:

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

   

分析:

A:创建键盘录入数据对象

B:键盘录入多个数据,我们不知道多少个,所以用集合存储

C:0结束,这个简单,只要键盘录入的数据是0,我就不继续录入数据了

D:把集合转成数组

E:对数组排序

F:获取该数组中的最大索引的值

  

public class ArrayListDemo {

public static void main(String[] args) {

// 创建键盘录入数据对象

Scanner sc = new Scanner(System.in);

   

// 键盘录入多个数据,我们不知道多少个,所以用集合存储

ArrayList<Integer> array = new ArrayList<Integer>();

   

// 0结束,这个简单,只要键盘录入的数据是0,我就不继续录入数据了

while (true) {

System.out.println("请输入数据:");

int number = sc.nextInt();

if (number != 0) {

array.add(number);

} else {

break;

}

}

   

// 把集合转成数组

// public <T> T[] toArray(T[] a)

Integer[] i = new Integer[array.size()];

// Integer[] ii = array.toArray(i);

array.toArray(i);

// System.out.println(i);

// System.out.println(ii);

   

// 对数组排序

// public static void sort(Object[] a)

Arrays.sort(i);

   

// 获取该数组中的最大索引的值

System.out.println("数组是:" + arrayToString(i) + "最大值是:"

+ i[i.length - 1]);

}

   

public static String arrayToString(Integer[] i) {

StringBuilder sb = new StringBuilder();

   

sb.append("[");

for (int x = 0; x < i.length; x++) {

if (x == i.length - 1) {

sb.append(i[x]);

} else {

sb.append(i[x]).append(", ");

}

}

sb.append("]");

   

return sb.toString();

}

}

 

posted @ 2017-07-12 13:37  殷瑜泰  阅读(246)  评论(0编辑  收藏  举报