Это простой выбор вопрос, а затем ответ программы:Вход Java остается пустым?
import java.util.Scanner;
public class Mains {
static Scanner console = new Scanner(System.in);
static Tof tof = new Tof();
static int Ievel = 0;
static int Input = 0;
static boolean GAME = true;
static boolean AT_START = true;
static boolean IN_QUESTION = false;
public static void main (String[] args) {
while (GAME) {
String InputS = "";
if (AT_START) {
System.out.println("Welcome to the game! Please select a number from 1 to 10.");
AT_START = false;
}
if (!IN_QUESTION)
Input = console.nextInt();
if (Input == -1) {
GAME = false;
console.close();
} else {
String question = tof.getQuestion(Input);
String answer = tof.getAnswer(Input);
System.out.println(question);
IN_QUESTION = true;
while (IN_QUESTION) {
InputS = console.nextLine();
if (InputS != console.nextLine()) {
if (InputS.equals(answer)) {
System.out.println("Correct!");
} else {
System.out.println("Incorrect. " + InputS + " " + answer);
}
}
}
}
}
}
}
Проблема:
При входе в цикл IN_QUESTION, и писать ответ, он всегда будет неправильным. Это потому, что переменная InputS ВСЕГДА пуста, несмотря ни на что, хотя на ней есть console.nextLine().
Почему это пусто? Как это исправить?
В-случае вам нужен другой класс TOF: http://pastebin.com/Fn5HEpL2
Каковы ваши консольные входы? Кроме того, вы должны воздерживаться от ввода имен переменных в верхнем регистре. InputS должны быть inputS и вход должен вводиться в соответствии с условными обозначениями кода. Статические переменные в верхнем регистре также должны следовать правилу кода. Все верхние регистры обычно только для констант. http://www.oracle.com/technetwork/java/codeconv-138413.html Если вы будете следовать кодовым соглашениям, другим разработчикам java будет намного проще дешифровать ваш код. – JREN
Я помещаю «true», и «false» и random, ones, все неверны. и когда я печатаю InputS, печать будет пустой. – user2519738