The logic of the questions do not make sense but the syntax is sound enough to r
ID: 3842345 • Letter: T
Question
The logic of the questions do not make sense but the syntax is sound enough to run with no errors but I'm still missing the extra code
How do I make the additional two questions (q3 and q4) run with the quiz?(Java)
im trying to add these questions to the quiz
questions[3] = "Is it a human being?";
questions[4] = "Is it an insect?";
but they are not actually adding when I run. I do not know what else I need to change or add for the quiz to recognize that I have added 2 additional questions.
// add to the questioning below to include a human being and an insect
// add extra code as needed
// clearly comment every line for what is happening
import javax.swing.JOptionPane;
public class ThinkingOf
{
public static void main(String args[])
{
String[] questions = new String[100];
String[] answers = new String[100];
String yourAnimal = new String();
String yourQuestion = new String();
boolean isDone = false;
boolean wantToPlay = true;
int answer;
int total = 100;
int pos = 0, oldPos = 0;
int yesPos = 1, noPos = 2;
// change the questioning to include a human being and an insect
questions[pos] = "Does the animal you are thinking of have legs?";
questions[1] = "Is it a dog?";
questions[2] = "Is it a fish?";
questions[3] = "Is it a human being?";
questions[4] = "Is it an insect?";
answers[1] = "dog";
answers[2] = "fish";
answers[3] = "human being";
answers[4] = "insect";
while(wantToPlay)
{
pos = 0;
isDone = false;
while(isDone == false)
{
answer = JOptionPane.showConfirmDialog
(null, questions[pos]);
oldPos = pos;
yesPos = pos * 2 + 1;
noPos = pos * 2 + 2;
if(answer == JOptionPane.YES_OPTION)
pos = yesPos;
else
pos = noPos;
if(questions[pos] == null)
{
if(answer == JOptionPane.YES_OPTION)
{
JOptionPane.showMessageDialog(null,"Yay! I win!");
isDone = true;
pos = 0;
}
else
{
yourAnimal = JOptionPane.showInputDialog(null, "I give up. What was your animal?");
yourQuestion = JOptionPane.showInputDialog(null, "Type a question for which the answer is Yes for " + answers[oldPos] + " but No for " + yourAnimal + ".");
questions[yesPos] = questions[oldPos];
questions[oldPos] = yourQuestion;
questions[noPos] = "Is it a " + yourAnimal + "?";
answers[yesPos] = answers[oldPos];
answers[noPos] = yourAnimal;
isDone = true;
pos = 0;
}
}
}
answer = JOptionPane.showConfirmDialog(null,"Do you want to play again?");
wantToPlay = (answer == JOptionPane.YES_OPTION);
}
}
}
Explanation / Answer
please find the below code
import javax.swing.JOptionPane;
public class ThinkingOf
{
public static void main(String args[])
{
String[] questions = new String[100];
String[] answers = new String[100];
String yourAnimal = new String();
String yourQuestion = new String();
boolean isDone = false;
boolean wantToPlay = true;
int answer;
int total = 100;
int pos = 0, oldPos = 0;
int yesPos = 1, noPos = 2;
questions[pos] = "Does the animal you are thinking of have legs?";
questions[1] = "Is it a dog?";
questions[2] = "Is it a fish?";
questions[3] = "Is it a human being?";
questions[4] = "Is it an insect?";
answers[1] = "dog";
answers[2] = "fish";
answers[3] = "human being";
answers[4] = "insect";
while(wantToPlay)
{
pos = 0;
isDone = false;
while(isDone == false)
{
answer = JOptionPane.showConfirmDialog
(null, questions[pos]);
oldPos = pos;
yesPos = pos * 2 + 1;
noPos = pos * 2 + 2;
if(answer == JOptionPane.YES_OPTION)
pos = yesPos;
else
pos = noPos;
if(questions[pos] == null)
{
if(answer == JOptionPane.YES_OPTION)
{
JOptionPane.showMessageDialog(null,"Yay! I win!");
isDone = true;
pos = 0;
}
else
{
yourAnimal = JOptionPane.showInputDialog(null, "I give up. What was your animal?");
yourQuestion = JOptionPane.showInputDialog(null, "Type a question for which the answer is Yes for " + answers[oldPos] + " but No for " + yourAnimal + ".");
questions[yesPos] = questions[oldPos];
questions[oldPos] = yourQuestion;
questions[noPos] = "Is it a " + yourAnimal + "?";
answers[yesPos] = answers[oldPos];
answers[noPos] = yourAnimal;
isDone = true;
pos = 0;
}
}
}
answer = JOptionPane.showConfirmDialog(null,"Do you want to play again?");
wantToPlay = (answer == JOptionPane.YES_OPTION);
}
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.