单元测试课堂练习

import java.util.*;
import javax.swing.*;

public class Max {
    static void largest(ArrayList<Integer> a,int length)
    {
        if(a==null)
        {
            System.out.println("empty array");
        }
        else
        {
            Integer[] a1=new Integer[a.size()];
            a1=(Integer[])a.toArray(a1);
            int i,max=a1[0];
            for(i=0;i<(length);i++)
            {
                if(a1[i]>max)
                {
                    max=a1[i];
                }
            }

            System.out.println("max "+max);
        }
    }
    public static void main(String args[])
    {
        ArrayList<Integer> a=new ArrayList<Integer>();
        while(true)
        {
            String b=JOptionPane.showInputDialog("请输入需要比较大小的数(以0结束)");
            try 
            {
                Integer.parseInt(b);
            } 
            catch(NumberFormatException e)
            {
                System.out.println("输入有误");
                System.exit(1);
            }
            int b1=Integer.parseInt(b);
            if(b1==0)
            {
                break;
            }
            else
            {
                a.add(b1);
            }
        }
        largest(a,a.size());
    }
}

采用集合使得用户可以随意输入数值,缺点是不能比较0在数组中的大小,目前还没有思路。

截图:

这里的测试数据分别是:

0 1 2 3 4 5(正数顺序)

-3 -2 -1 0 1 2(正负数顺序)

5 4 3 2 1 0(正数逆序)

0 4 4 5 5(重复数字)

-2 -498764 -1 487614(不规则大数)

尽皆输出了最大值

输入字母及符号时异常抛出提示

原文地址:https://www.cnblogs.com/a1264393659/p/5302697.html