我有这些类:无法显示正确的值
interface Shape
{
public double getPerimeter();
public double getArea();
public void getDetails();
}
和
class Circle implements Shape
{
private double PI = 3.14;
private int radius;
double perimeter, area;
//constructor
public Circle(int radius)
{
perimeter = 2.0 * (PI * radius);
area = PI * (radius * radius);
}
public int getRadius()
{
return radius;
}
public double getPerimeter()
{
return perimeter;
}
public double getArea()
{
return area;
}
public void getDetails()
{
System.out.println("Shape Type: Circle " + "\n"
+ "Radius: " + getRadius() + "\n"
+ "Perimeter: " + getPerimeter() + "\n"
+ "Area: " + getArea() + "\n" );
}
}
最后
public class TestShape
{
public static void main(String args[])
{
for(int i = 0; i < args.length; i++)
{
try
{
Integer.parseInt(args[i]);
}
catch(NumberFormatException nfe)
{
System.err.print("wrong");
}
catch(IllegalArgumentException iae)
{
System.err.print("wrong");
}
if(args.length==1)
{
i = Integer.parseInt(args[0]);
Circle r1 = new Circle(i);
r1.getDetails();
}
}
}
}
我们被分配到输入1,2或3个数字在终端的命令行上,输出将根据数组大小显示它的形状。当我输入一个数字时,我设法得到了正确的参数和区域,但半径始终显示0而不是输入的实际数字。
所以,你们觉得呢?
这是Java吗?它看起来像Java。请记住下次使用正确的语言标签。也请尽量避免亵渎。并且不要发布(链接到)包含文本的图像。相反,将文本*作为*文本*复制粘贴到问题主体中。 *您的问题是什么?*您使用您的代码显示的问题是什么?请花一些时间[采取SO旅游](http://stackoverflow.com/tour)和[阅读如何提出好问题](http://stackoverflow.com/help/how-to-ask)。 –
整洁的错误处理消息... – Lemonov
这是一个简单的缺失行,我已经投票关闭作为一个错误,没有必要在SO的未来。 – AxelH