Java非常新,我期待更改以下內容以允許只發生一次相同的變量調用。Java壓縮一些代碼
第二個「b」變量只在矩形和三角形中調用。這只是想看看我能否從主體中獲得一條額外的線。
「b」變量不能從if語句中移出,因爲程序無法啓動,因爲用戶只會輸入變量。
import java.util.*;
public class Main {
public static void main(String[]args) {
Scanner in = new Scanner(System.in);
System.out.print("? ");
String word = in.next();
Shape s = null;
while (!word.equals("quit")) {
double a = in.nextDouble();
if (word.equals("triangle")){
double b = in.nextDouble();
s = new Shapet (a, b);
}else if (word.equals("rectangle")){
double b = in.nextDouble();
s = new Shaper (a, b);
}else if (word.equals("square")){
s = new Shapes (a);
}else if (word.equals("circle")){
s = new Shapec (a);
}else if (word.equals("pentagon")){
s = new Shapep (a);
}
System.out.printf("Area of %s = %.2f\n", s, s.area());
System.out.print("? ");
word = in.next();
}
}
}
就像你用's'一樣,你可以把'b'放在循環的外面。 –
也可以考慮使用帶有String的開關,而不是if/elseif塊的這麼多數量。這會讓你的代碼更具可讀性。你還說你剛剛開始使用Java ...爲什麼Shapet類不是實現Shape接口的Triangle類?像三角形,矩形,方形等類將大大提高可讀性。 –
請使用下面的開關檢查代碼... :) – Leah