これは、さまざまな形の関数を実行するループですが、その形の関数を実行した後、ユーザーが「終了」を入力するまで形を要求し続けます。私はこれまで三角形だけを行っていますので、正しくループすることを確認するためにいくつかのフィラー関数を用意しています。問題は、私が三角形で作業した後、一度印刷するのではなく、入力を求める前にメニューを2回印刷することです。誰も私にこれを説明することはできますか?なぜこのwhileループは2回繰り返されますか?
while(password){
System.out.println();
System.out.println("---Welcome to the Shape Machine---");
System.out.println("Available Options:");
System.out.println("Circles");
System.out.println("Rectangles");
System.out.println("Triangles");
System.out.println("Exit");
String option = keyboard.nextLine();
if(option.equals("Exit")){
System.out.println("Terminating the program. Have a nice day!");
return;
} else if(option.equals("Triangles")){
System.out.println("Triangles selected. Please enter the 3 sides:");
int sideA = 0;
int sideB = 0;
int sideC = 0;
do{
sideA = keyboard.nextInt();
sideB = keyboard.nextInt();
sideC = keyboard.nextInt();
if(sideA<0 || sideB<0 || sideC<0)
System.out.println("#ERROR Negative input. Please input the 3 sides again.");
} while(sideA<0 || sideB<0 || sideC<0);
if((sideA+sideB)<=sideC || (sideB+sideC)<=sideA || (sideA+sideC)<=sideB){
System.out.println("#ERROR Triangle is not valid. Returning to menu.");
continue;
} else {
System.out.println("good job!");
}
}
}
不完全なコード? –
'password'とは何ですか?なぜあなたのループの内部で決してリセットされないのですか? – Makoto