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]);

    }
}
//后面这里改不对啊!!!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值