我有這些類:無法顯示正確的值
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