Этот код должен получить письмо от пользователя, а затем присвоить значение букве, исходя из того, сколько очков оно стоит. Это моя первая часть, работающая на Java, и по какой-то причине я не могу заставить оператор if
присвоить переменную что угодно.Невозможно заставить Java присваивать значение переменной, используя оператор if
import java.util.Scanner;
public class LetterValues {
public static void main(String args[]){
Scanner scanner = new Scanner(System.in);
String letterInput1, letterInput2, letterInput3, letterInput4;
int firstLetter = 0, secondLetter = 0, thirdLetter = 0, fourthLetter = 0;
// Asks for first input letter
System.out.print("What is your first letter? ");
// Reads the first input letter
letterInput1 = scanner.next();
// Converts the first letter to upper case, prints out to check
System.out.println(letterInput1.toUpperCase());
// Prints out first letter to check
System.out.println(letterInput1);
// Assigns a value to the firstLetter int based on the value of letterInput1
if ((letterInput1 == "A") || (letterInput1 == "E"))
{
firstLetter = 1;
}
else if ((letterInput1 == "D") || (letterInput1 == "R"))
{
firstLetter = 2;
}
else if ((letterInput1 == "B") || (letterInput1 == "M"))
{
firstLetter = 3;
}
else if ((letterInput1 == "V") || (letterInput1 == "Y"))
{
firstLetter = 4;
}
else if ((letterInput1 == "J") || (letterInput1 == "X"))
{
firstLetter = 8;
}
else
{
System.out.println("Error.");
}
System.out.println(firstLetter);
}
}
Результат:
What is your first letter? A //<--input
A
A
Error.
0
What is your second letter?
Не сравнивайте содержимое строк с помощью '=='. Используйте 'equals()' –