public class except
{
public static int Sum(int n)
{
if(n<0)
throw new IllegalArgumentException("n应为正数");
int s=0;
for(int i=0;i<n;i++)s=s+i;
return s;
}
public static void main(String args[])
{
try
{
int n=Integer.parseInt(args[0]);
System.out.println("命令行应为:"+"java SumUp<number>");
}
catch(NumberFormatException e2)
{
System.out.println("参数<number>应为整数");
}
catch(IllegalArgumentException e3)
{
System.out.println("参数错误" + e3.toString());
}
finally
{
System.out.println("SumUp.java程序结束?");
}
}
}怎么回事呢?为什么我的运行结果只有SumUp.java程序结束??其他程序的命令行参数也都是例外??好像不是程序的问题啊.....郁闷中
{
public static int Sum(int n)
{
if(n<0)
throw new IllegalArgumentException("n应为正数");
int s=0;
for(int i=0;i<n;i++)s=s+i;
return s;
}
public static void main(String args[])
{
try
{
int n=Integer.parseInt(args[0]);
System.out.println("命令行应为:"+"java SumUp<number>");
}
catch(NumberFormatException e2)
{
System.out.println("参数<number>应为整数");
}
catch(IllegalArgumentException e3)
{
System.out.println("参数错误" + e3.toString());
}
finally
{
System.out.println("SumUp.java程序结束?");
}
}
}怎么回事呢?为什么我的运行结果只有SumUp.java程序结束??其他程序的命令行参数也都是例外??好像不是程序的问题啊.....郁闷中
{
public static int Sum(int n)
{
if(n<0)
throw new IllegalArgumentException("nӦΪÕýÊý");
int s=0;
for(int i=0;i<n;i++)s=s+i;
return s;
}
public static void main(String args[])
{
try
{
int n=Integer.parseInt(args[0]);
System.out.println(Sum(n)); //这里调用sum方法
}
catch(NumberFormatException e2)
{
System.out.println("²ÎÊý<number>ӦΪÕûÊý");
}
catch(IllegalArgumentException e3)
{
System.out.println("²ÎÊý´íÎó" + e3.toString());
}
finally
{
System.out.println("SumUp.java³ÌÐò½áÊø?");
}
}
}会有以下结果:
1、java except 6
结果为:
15
SumUp.java程序结束?2、java except -2
结果为:
参数错误java.lang.IllegalArgumentException: n应为正数
SumUp.java程序结束?3、java except x
结果为:
参数<number>应为整数
SumUp.java程序结束?4、java except
结果为:
SumUp.java程序结束?
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at except.main(except.java:15)问题比较多,主要三个:
1、参数是指java except后面用空格分割的字符串,将会传入args[]字符串数组中
int n=Integer.parseInt(args[0]);
就是将第一个参数转为整数2、需要调用sum方法,否则程序没有意义3、String arg[]和String[] arg是一样的,参考数组的定义
而且你可以不用args用别的如a,b都是一样的