键盘录入对个数据,以0结束2,要求在控制台输出这个数据中的最大值
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
//创建键盘录入数据对象
Scanner sc=new Scanner(System.in);
//创建集合
ArrayList<Integer> array=new ArrayList<Integer>();
while(true){
System.out.println("请输入您的值");
int number=sc.nextInt();
if(number!=0){
array.add(number);
}else {
break;
}
}
//数组的长度应该是集合的长度,int[] a=new int[2];
Integer[] i=new Integer[array.size()];
//转成数组也有方法,详情查看api;
// Integer[] ii=array.toArray(i);这一步可以省略,因为i和ii的地址其实是一样的,说明2个对象相同;
array.toArray(i);
//然后将数组排序,Arrays类中也有方法(包括基础类型和引用类型的排序),详情查看api;
Arrays.sort(i);
//获取改数组中的最大索引值(这里打出的i肯定是地址值(数组输出的是地址值,集合输出的是元素),但是没有方法了,我们只能在后面自己写个方法弄个字符串的拼接了;
System.out.println("数组是:"+i+"最大值是:"+i[i.length-1]);
//字符串的拼接,用的其他类的方法,这个不是很懂
public static String arrayToString(Integer[] i)
StringBuffer sb=new StringBuffer();
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();
}
System.out.println("数组是:"+arrayToString(i)+"最大值是:"+i[i.length-1]);
}
}
//后面这里改不对啊!!!