[英]Java Program that shows the number of shapes in a geometric figure interactively
我有這個Java程序,應該顯示三角形,梯形和六邊形的幾何形狀的邊數。 我設法創建了代碼,以便當我運行java Shape時,它可以一次顯示所有Shapes和所有邊,但是我想使其具有交互性,以便可以提示用戶輸入她想要的形狀,並且返回它的邊數多少,Java中的哪個功能可以最好地做到這一點?
public abstract class Shape {
public abstract void numberOfSides();
public static void main(String[] args)
{
System.out.println("The Geometrical characteristics of the figures are as follows");
Trapezoid t=new Trapezoid();
Triangle tg=new Triangle();
Hexagon h=new Hexagon();
t.numberOfSides();
tg.numberOfSides();
h.numberOfSides();
}
}
class Trapezoid extends Shape {
public void numberOfSides()
{
System.out.println("Trapezoid~It is geometrical figure with an attribute of 4 sides (Of which two are parallel and with no angles)");
}
}
class Triangle extends Shape {
public void numberOfSides()
{
System.out.println("Triangle~It is geometrical figure with an attribute of 3 sides");
}
}
class Hexagon extends Shape {
public void numberOfSides()
{
System.out.println("Hexagon-It is geometrical figure with an attribute of 6 sides");
}
}
這是我嘗試實施以上方法后的新方法,它說存在錯誤,已經過時了。
import java.io.*;
public abstract class Shape {
public abstract void numberOfSides();
public static void main(String[] args)
{
System.out.println("Enter the name of the Shape");
BufferedReader br = new BufferedReader (new InputStreamReader(System.in));
try {
String shapeName = br.readLine();
if (br.equals ("Trapezoid"))
{Trapezoid t = new Trapezoid();
t.numberOfSides();
}
else if (br.equals ("Triangle"))
{Triangle tg = new Triangle();
tg.numberOfSides();
}
else if (br.equals ("Hexagon"))
{Hexagon h = new Hexagon();
h.numberOfSides();
}
}
}
class Trapezoid extends Shape {
public void numberOfSides()
{
System.out.println("Trapezoid~It is geometrical figure with an attribute of 4 sides (Of which two are parallel and with no angles)");
}
}
class Triangle extends Shape {
public void numberOfSides()
{
System.out.println("Triangle~It is geometrical figure with an attribute of 3 sides");
}
}
class Hexagon extends Shape {
public void numberOfSides()
{
System.out.println("Hexagon-It is geometrical figure with an attribute of 6 sides");
}
}
要從用戶讀取輸入,您將要使用緩沖讀取器。 然后,您需要根據用戶輸入有條件地調用您的方法。
例如
System.out.println("Enter the name of the shape");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String shapeName = br.readLine();
if(br.equals("Trapezoid") {
Trapezoid t = new Trapezoid();
t.numberOfSides();
}
//...
編寫完該代碼后,您可以實現一個菜單,供用戶選擇所需的形狀。 該代碼看起來像這樣。
System.out.println("Select one of the following shapes. \n 1) Trapezoid \n 2) Triangle \n 3) Hexagon");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String shapeName = br.readLine();
if(br.equals("Trapezoid" || br.equals("1") {
Trapezoid t = new Trapezoid();
t.numberOfSides();
}
// ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.