Im, чтобы сделать этот цикл после того, как он задал им вопрос в этом случае «« Что такое 2 + 2? », А затем введите туда, Затем программа должна спросить« Вы уверены, что Y/N », если они awnser no Я хочу, чтобы он вернулся к началу этого цикла и позволил им повторить вопрос. Поскольку я не могу заставить это зацикливаться, и после того, как эта часть работы, мне нужно будет сделать еще 9 вопросов в том же форматеLooping if statements
import java.util.Scanner;
class Quiz
{
public static void main (String[] args)
{
int q1=0 , q2=0;
boolean correct = false;
char yn1='y';
String q3 , q4;
Scanner input1 = new Scanner(System.in);
int count = 0 ;
//Question 1 start
while (correct == false)
{
System.out.println("What is 2+2? ");
System.out.println("Choices: 0,2,4,8");
q1 = input1.nextInt(); //used after loop
System.out.println("Are You Sure? (y/n)");
char c = input1.next().charAt(0); // Changed LINE
if (c=='y') // Changed LINE
{
if (q1 == 4) //q1 was stated during loop
System.out.println("You were correct 2+2 = 4");
else
System.out.println("You were wrong");
break;
}
}
//Question 2 start
while (correct == false)
{
System.out.println("how many legs does a legless cow have?");
System.out.println("Choices: 0,25,4,31");
q2 = input1.nextInt();
System.out.println("Are You Sure? (y/n)");
char c = input1.next().charAt(0);
if (c=='y')
{
if (q2 == 0)
System.out.println("You were correct, the cow has 0 legs");
else
System.out.println("You were wrong");
break;
}
}
//Question 3 start
while (correct == false)
{
System.out.println("What is the capital city of Canada?");
System.out.println("Choices: Toronto, Montreal, Vancouver, Ottawa (capitals count)");
q3 = input1.nextLine();
System.out.println("Are You Sure? (y/n)");
char c = input1.next().charAt(0);
if (c=='y')
{
if ("Ottawa".equals(q3))
System.out.println("You were correct, The capital is Ottawa");
else
System.out.println("You were wrong");
break;
}
}
}
}
новая проблема возникла я использовал один полезный пример и может попытаться изменить его в массив позже, но не до я получить основы работает. все вопросы usings Int работы до сих пор Т.е.
//Question 1 start
while (correct == false)
{
System.out.println("What is 2+2? ");
System.out.println("Choices: 0,2,4,8");
q1 = input1.nextInt(); //used after loop
System.out.println("Are You Sure? (y/n)");
char c = input1.next().charAt(0); // Changed LINE
if (c=='y') // Changed LINE
{
if (q1 == 4) //q1 was stated during loop
System.out.println("You were correct 2+2 = 4");
else
System.out.println("You were wrong");
break;
}
}
Но теперь я хочу использовать слово awnser так я сделал строку и поместить его в вместо междунар но теперь вместо того, чтобы позволить вход для q3 он пропускает на вход г/п не понимаю, почему все внезапно это сделало бы это, но другие вопросы будут корректно работать с int.
while (correct == false)
{
System.out.println("What is the capital city of Canada?");
System.out.println("Choices: Toronto, Montreal, Vancouver, Ottawa (capitals count)");
String q3 = input1.nextLine();
System.out.println("Are You Sure? (y/n)");
char c = input1.next().charAt(0);
if (c=='y')
{
if ("Ottawa".equals(q3))
System.out.println("You were correct, The capital is Ottawa");
else
System.out.println("You were wrong");
break;
}
}
Прошу прощения, если этого недостаточно, детали или неправильное оформление, и обязательно зафиксируйте его, если это так.
Сладкое спасибо, я сначала использую этот метод, и если у меня есть дополнительное время, я попробую массив, о котором говорил другой парень. –
Я попытался использовать строку вместо int (я разместил ее как редактирование), и она пропускает для ввода/вывода какие-либо идеи для решения этой проблемы? –
@ Куртис Спенс Спасибо, Кертис !. Я обязательно помогу в следующем посте. Но постарайтесь принять ответ, если ваш 1-й вопрос будет решен, так что он может быть полезен и для других. –