Javase学习记录之------键盘录入10个数据并在控制台输出最大值

键盘录入对个数据,以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]);

    }
}
//后面这里改不对啊!!!

你可能感兴趣的:(JavaSE,Java)