ฉันกำลังพยายามทำให้สวิตช์เคสของฉันวนกลับอีกครั้งหากได้รับค่าเริ่มต้น
Aug 16 2020
//Choice of choosing a dog or a cat
String pet = input.next();
switch (pet.charAt(0)) {
case 'a' -> {
System.out.println("What is your dog's name? ");
String dogsName = input.next();
System.out.println("Your Character's Name is: " + playerName + "\nYour Pet's Name is: " + dogsName);
}
case 'b' -> {
System.out.println("What is your cat's name? ");
String catsName = input.next();
System.out.println("Character Name: " + playerName + "\nPet Name: " + catsName);
}
default -> System.out.println("That is not a valid option. Please choose again.");
}
input.close();
}
ฉันไม่พบลูปที่จะใช้ที่จะนำกลับมาใช้กรณี a ซ้ำแล้วซ้ำอีกจนกว่าผู้ใช้จะตอบโดยใช้ตัวเลือกใดตัวเลือกหนึ่งความช่วยเหลือใด ๆ จะยอดเยี่ยมมาก! ขอบคุณ
คำตอบ
1 LoveshDongre Aug 17 2020 at 05:21
การใช้do while
ลูปเป็นวิธีง่ายๆในการแก้ปัญหา
ฉันใช้ตัวแปรrepeat
เพื่อตรวจสอบว่าฉันต้องการขออินพุตอีกครั้งหรือไม่
นอกจากนี้โปรดทราบว่าตอนนี้แม้ว่าฉันจะเพิ่มเคสอื่น (พูดcase 'c'
) ฉันไม่จำเป็นต้องแก้ไขเงื่อนไขสำหรับdo while
ลูปของฉัน
boolean repeat;
do {
String pet = input.next();
repeat = false;
switch (pet.charAt(0)) {
case 'a' -> {
System.out.println("What is your dog's name? ");
String dogsName = input.next();
System.out.println("Your Character's Name is: " + playerName + "\nYour Pet's Name is: " + dogsName);
}
case 'b'-> {
System.out.println("What is your cat's name? ");
String catsName = input.next();
System.out.println("Character Name: " + playerName + "\nPet Name: " + catsName);
}
default: System.out.println("That is not a valid option. Please choose again.");
repeat = true;
}
} while(repeat);
input.close();
AnveshK Aug 17 2020 at 05:24
การวนซ้ำเป็นวิธีแก้ปัญหาที่ดี แต่คุณยังสามารถใช้วิธีการ Recessive ใน java ได้
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println(" Welcome To The Choices Game... ");
System.out.println("Please enter your name: " );
String playerName = input.nextLine();
System.out.println("What is " + playerName + "'s" + " favorite pet?");
System.out.println("a. Dog \nb. Cat");
//Choice of choosing a dog or a cat
method();
input.close();
}
public void method()
{
String pet = input.next();
switch (pet.charAt(0)) {
case 'a' -> {
System.out.println("What is your dog's name? ");
String dogsName = input.next();
System.out.println("Your Character's Name is: " + playerName + "\nYour Pet's Name is: " + dogsName);
}
case 'b' -> {
System.out.println("What is your cat's name? ");
String catsName = input.next();
System.out.println("Character Name: " + playerName + "\nPet Name: " + catsName);
}
default -> System.out.println("That is not a valid option. Please choose again.");
method();
}
}
Srinjoy_Chatterjee37 Aug 17 2020 at 05:11
หากต้องการวนซ้ำส่วนสวิตช์เคสทั้งหมดคุณสามารถลองวางไว้ในลูป do-while สำหรับเงื่อนไขที่จะใช้กับบล็อก do-while คุณสามารถลอง: -do {...}while(pet.charAt(0)!='a' || pet.charAt(0)!='b');
ฉันกำลังให้วิธีแก้ปัญหาที่เป็นไปได้ด้านล่าง: -
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println(" Welcome To The Choices Game... ");
System.out.println("Please enter your name: " );
String playerName = input.nextLine();
System.out.println("What is " + playerName + "'s" + " favorite pet?");
System.out.println("a. Dog \nb. Cat");
//Choice of choosing a dog or a cat
do{
String pet = input.next();
switch (pet.charAt(0)) {
case 'a' -> {
System.out.println("What is your dog's name? ");
String dogsName = input.next();
System.out.println("Your Character's Name is: " + playerName + "\nYour Pet's Name is: " + dogsName);
break;}
case 'b' -> {
System.out.println("What is your cat's name? ");
String catsName = input.next();
System.out.println("Character Name: " + playerName + "\nPet Name: " + catsName);
break;}
default -> System.out.println("That is not a valid option. Please choose again.");
}
}while(pet.charAt(0)!='a' && pet.charAt(0)!='b');
input.close();
}