嗨我不知道我是否可以在if語句的時候進行驗證,因此只有當用戶使用它們的參數輸入命令「移動」「線條」「圓圈」時,程序纔會執行。例如,如果用戶輸入「移動200」,則程序會說因爲只有一個或NO參數而無效。 謝謝!Java while循環輸入驗證
import java.util.Scanner;
public class DrawingProgram1 {
public static void main(String[] args) {
GraphicsScreen g = new GraphicsScreen();
String store;
String command;
int move1;
int move2;
int line1;
int line2;
int circle;
while (true) {
Scanner scan = new Scanner(System.in);
System.out.println("Type 'help' for list of commands. Type 'end' to finish.");
System.out.println("Please enter a command:");
store = scan.nextLine();
String [] splitUpText = store.split(" ");
command = splitUpText[0];
if (command.equalsIgnoreCase("move")) {
move1 = Integer.parseInt(splitUpText[1]);
move2 = Integer.parseInt(splitUpText[2]);
g.moveTo(move1, move2);
}
else if (command.equalsIgnoreCase("line")) {
line1 = Integer.parseInt(splitUpText[1]);
line2 = Integer.parseInt(splitUpText[2]);
g.lineTo(line1, line2);
}
else if (command.equalsIgnoreCase("circle")) {
circle = Integer.parseInt(splitUpText[1]);
g.circle(circle);
}
else if (command.equalsIgnoreCase("help")) {
System.out.println("Enter a command for move.");
System.out.println("Enter a command for line.");
System.out.println("Enter a command for circle.");
}
else if (command.equalsIgnoreCase("end")) {
System.exit(0);
}
else {
System.out.println("Error");
}
}
}
}
您可能會強制用戶使用其他輸入格式,例如移動:「200」 – Luke94
只需檢查'splitUpText'的長度。如果它不是3,則在顯示消息後繼續while循環。 –