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(不规则大数)
尽皆输出了最大值
输入字母及符号时异常抛出提示