Поэтому я пытаюсь использовать базовые значения ввода, такие как a
или b
между двумя различными пользовательскими вводами, сопоставлять их и печатать оценку для этого одного цикла, а затем распечатывать накопленный общий балл. Я чувствую, что делаю это правильно, но каждый раз, когда мой балл выдает значение 0. Так что давайте скажем, что ключевыми значениями являются aaa
а значения aaa
и aba
. Это должно печатать значение 2 и постоянно запускать, а также сбросить счет обратно до 0.
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader input1 = new BufferedReader(reader);
BufferedReader input2 = new BufferedReader(reader);
String inputValue;
String[] key;
String[] ans;
int totalScore = 0;
inputValue = input1.readLine();
key = inputValue.split("\\s+");
while(true){
int score = 0;
inputValue = input2.readLine();
ans = inputValue.split("\\s+");
if(key[0] == ans[0])
score += 1;
if(key[1] == ans[1])
score += 1;
if(key[2] == ans[2])
score += 1;
totalScore = score;
System.out.print(score + "\n");
System.out.print(totalScore + "\n");
}
Вы сравниваете строки; используйте .equals()
вместо ==
пример:
if (key[0].equals(ans[0])) {}
Помните: (почти) Всегда используйте .equals()
для сравнения строк.
if(key[0].equals("a") || key[0].equals("A"))
чтобы поймать прописные или строчные буквы?