私はswitch文とwhileループを使ってjavaでメニューを書いています。私は、メニュー2に進む前にユーザーがメニュー1を完了することを保証する方法を探しています。スイッチのステートメントの順序を制限する
package menuOrder;
インポートjava.util.Scanner(、これは私がこの質問のために書いただけで素早くプログラムである私は、通常、セッターとゲッターを使用してデータを渡しますのでご注意ください) :ここでは
は、コードの例の作品です;パブリッククラスメイン{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int option = 0;
String Fname = null;
String Sname = null;
int Age = 0;
while(option !=5){
System.out.println("1. Enter Firstname");
System.out.println("2. Enter Surname");
System.out.println("3. Enter Age");
System.out.println("4. Display Details");
System.out.println("5. System Exit");
option = sc.nextInt();
switch(option){
case 1:
System.out.println("Please enter your Firstname >");
Fname = sc.next();
break;
case 2:
System.out.println("Please enter your Surname >");
Sname = sc.next();
break;
case 3:
System.out.println("Please enter your Age >");
Age = sc.nextInt();
break;
case 4:
System.out.println("Firstname = " + Fname + "\nSurname = " + Sname + "\nAge = " + Age);
break;
case 5:
System.out.println("You have chosen to System Exit!!!");
System.exit(0);
break;
default:
System.out.println("Invalid Entry!! \nPlease try again");
}
}
}
}
私は彼らのファーストネームの前に彼らの姓に入るの使用を防止しようとしています。
誰かが助けてくれますか?
ありがとうございます。
* Firstnameの前に姓を入力しないようにしようとしています。* **なぜですか?**あなたのコードは正常に動作するはずです。 –
スイッチを一切使用しないのはどうですか?それは最も簡単な解決策のようです – 11thdimension
場合は、すべての入力オプションのcase文の中のIfブロックです。データが既に入力されている場合は、If文がスキップされます –