题目是:
编写一个程序,用于根据用户输入的命令行参数数量来计算长方形或正方形的面积.如果输入一个参数,则应显示正方形的面积;如果输入两个命令行参数,则应显示长方形面积;如果没有输入参数,则应显示相应的错误消息,要求通过异常处理方法解决.用于计算面积的方法是一个重载的方法.(题目要求传参数)
我的源码是(这是有错误的源码,请大家帮我解决一下):
abstract class MyAreaDemo
{
abstract void area();
}class MyRectangle extends MyArea
{
void area(int rh,int rw)
{
System.out.println(rh*rw);
}
}class MySquare extends MyArea
{
void area(int sb)
{
System.out.println(sb*sb);
}
}class MyArea
{
public static void main(String args[])
{
try
{
int arrSize=args.length;
int num1;
int num2;
num1=Integer.parseInt(args[0]);
num2=Integer.parseInt(args[1]);
if(arrSize==2)
{
MyRectangle objR=new MyRectangle();
objR.area(num1,num2);
}
if(arrSize==1)
{
MySquare objS=new MySquare();
objS.area(num1);
}
}
catch(ArrayIndexOutOfBoundsException e)
{
System.out.println("没有输入参数");
}
}
}
编写一个程序,用于根据用户输入的命令行参数数量来计算长方形或正方形的面积.如果输入一个参数,则应显示正方形的面积;如果输入两个命令行参数,则应显示长方形面积;如果没有输入参数,则应显示相应的错误消息,要求通过异常处理方法解决.用于计算面积的方法是一个重载的方法.(题目要求传参数)
我的源码是(这是有错误的源码,请大家帮我解决一下):
abstract class MyAreaDemo
{
abstract void area();
}class MyRectangle extends MyArea
{
void area(int rh,int rw)
{
System.out.println(rh*rw);
}
}class MySquare extends MyArea
{
void area(int sb)
{
System.out.println(sb*sb);
}
}class MyArea
{
public static void main(String args[])
{
try
{
int arrSize=args.length;
int num1;
int num2;
num1=Integer.parseInt(args[0]);
num2=Integer.parseInt(args[1]);
if(arrSize==2)
{
MyRectangle objR=new MyRectangle();
objR.area(num1,num2);
}
if(arrSize==1)
{
MySquare objS=new MySquare();
objS.area(num1);
}
}
catch(ArrayIndexOutOfBoundsException e)
{
System.out.println("没有输入参数");
}
}
}
{
if (args.length != 2)
{
System.err.println("Usage:java MyArea param1 param2");
throw new ArrayIndexOutOfBoundsException();
}
... ...
num2=Integer.parseInt(args[1]);
即使你的ars有办法传进来
如果你的args只有一个,这段程序不是错了?
if(arrSize == 2){
num1=Integer.parseInt(args[0]);
num2=Integer.parseInt(args[1]);
}
else
num1=Integer.parseInt(args[0]);
num2=Integer.parseInt(args[1]);
即使你的ars有办法传进来
如果你的args只有一个,这段程序不是错了?