Моя программа рисует монстра-коути (тело и голову), а тело должно быть нарисовано перед головой. Но когда я запускаю программу, она говорит: «Невозможно добавить часть тела!» когда я набираю 2 в качестве ввода (даже если у меня уже есть тело). ПРИМЕЧАНИЕ: 1 в качестве входного сигнала рисует тело и 2 рисует головку.Почему «тело» сбрасывается до нуля?
Я уже определил проблему, но я не уверен, как ее исправить. Проблема в том, что голова сбрасывается до 0, прежде чем она войдет в «if (rollValue == 2) ...». Моя программа может нарисовать тело, но после того, как он закончил рисовать тело, моя переменная body изменится на 0. Именно поэтому моя программа не рисует голову. Любые идеи о том, как исправить это, чтобы моя программа не сбросила «тело» обратно на 0 после рисования тела?
import java.util.Scanner;
public class Cootie
{
public static void main(String[] args)
{
boolean done = false;
while (!done)
{
Scanner scanner = new Scanner(System.in);
System.out.println("BODY PARTS:");
System.out.println("1 = body");
System.out.println("2 = head");
System.out.println("3 = one leg");
System.out.println("4 = one antenna");
System.out.println("5 = one eye");
System.out.println("6 = tail");
System.out.println("What number did you roll?: ");
int rollValue = scanner.nextInt();
int body = 0;
int head = 0;
if (rollValue == 1)
{
if (body == 0)
{
body = 1;
}
else
{
System.out.println("Can't add body part!");
System.out.println(" ");;
}
}
else if (rollValue == 2)
{
if (body == 1 && head == 0)
{
head = 1;
}
else
{
System.out.println("Can't add body part!");
}
}
else
{
System.out.println("Enter a valid input!");
}
if (body == 1)
{
System.out.println("------------------------------");
System.out.println("You got the body!");
System.out.println(" ");
System.out.println(" ");
System.out.println(" [ ]");
System.out.println(" ");
System.out.println(" [ ]");
System.out.println(" ");
System.out.println(" [ ]");
System.out.println(" ");
}
if (head == 1)
{
System.out.println("You got the head!");
System.out.println(" ");
System.out.println(" ( )");
}
if (body == 1 && head == 1)
{
System.out.println("Congratulations you have completed your cootie!");
done = true;
}
}
}
}
Просто догадка - может быть, это так: 'int body = 0;' –
Карен у вас всегда такая же проблема. Весь ваш вопрос вы добавляете дополнительные нежелательные заявления в цикле. : p – StackFlowed
@wrongAnswer: Да, я делаю это как практику. В программе больше, но мне просто нужно руководствоваться этой частью. :) – Karen