输入一串数字 找到最小值

这篇博客分享了一个Java程序,用于从用户输入的一系列数字中找到最小值。程序使用ArrayList动态数组存储输入的数字,通过循环遍历比较找到最小值。博主在实现过程中遇到了初始化最小值的问题,通过李老板提供的代码解决了这个问题,了解到ArrayList的动态扩容特性及其初始化和操作方法。

朋友李老板 给我发了一篇全英文的java系题  看得眼睛都花了  在做的过程中第10题比较有趣 我写出来分享下

Write a complete Java program that prompts the user for a series of numbers to determine the smallest value entered.  Before the program terminates, display the smallest value.

 就是我标题的意思 

一拿到这个题我就想到了  我要做个数组  通过循环遍历来保存我keyboard输入的数字 ,  然后在来一个循环 遍历数组 挨个比较大小 。遇到比他小的 就把小的赋值给min变量 。后来在敲代码的过程中 我发现我的min 还需要一个初始值 而这个初始值不可以为零

因为为零的话 那么我的判断 就会认为0是最小的  于是我的min就恒为0;思考了半宿没想出好方法 ;第二天 ;李老板高兴的给我说他拿去问老师了  ;代码是

package lilaobanTEXT20180808;

 

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ArrayList<Integer> arrayList = new ArrayList();
    int MIN = 0;
        
        System.out.println("How many numbers do you need to type in?");
        Scanner scanner = new Scanner(System.in);
        int getTheLength = scanner.nextInt();//限制数组长度
        
        for(int a = 0;a<getTheLength;a++) {
            System.out.println("type in numb");
            Scanner typein = new Scanner(System.in);
            arrayList.add(typein.nextInt());//具体给数组赋值的语句
            }//给数组赋值
        
         System.out.println(arrayList.size());
        
        for(int i=0;i<arrayList.size();i++)
            //这里的i是位数,默认第0位开始循环,第0位小于数组长度,第i位+1位
        {
            if(i==0)//i是位数 判断是否数组第一位
            {
                MIN = (int) arrayList.get(i);
                }//如果i=0,min就得到i=0这个数
            
            else //不是数组第一位
            {
                if (MIN > (int)arrayList.get(i))//如果最小值 比当前数组第i位的质大 则把当前值当作最小值
                {
                    MIN = (int)arrayList.get(i);//
                    }
                }
            }
        System.out.println(MIN);
}
}

他的代码在第二个比较循环中加了 一个if语句 使我的问题就迎刃而解 

拜读拜读

ArrayList数组我也是第一次见

这个数组高级了  是自动数组 可以自动改变大小

他的初始化有3种形式

1)不初始化容量  ArrayList al = new ArrayList();//默认容量为0,当数组容量满时数组会自动一当前数组容量的2倍扩容

2)初始化容量ArrayList al = new ArrayList(3);//初始容量为3

3)以一个集合或数组初始化ArrayList al = new ArrayList(a);//a为集合或数组

他具有自己的增删改语句

1)增加

ArrayList al = new ArrayList();

al.add("a");

2)删除

al.Remove(object obj);//移除数组中的obj元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值