java - 无法让 Java 使用 if 语句为变量赋值

标签 java

这段代码应该从用户那里获取一个字母输入,然后根据它的点数为该字母分配一个值。这是我在 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()比较字符串:

"A".equals(letterInput1)

关于java - 无法让 Java 使用 if 语句为变量赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20596624/

相关文章:

java - 设计用于裁剪 ImageView 的路径

java - 您可以启动一个 Activity 作为其自身的实例吗?

java - Runnable 根本不在 fragment 内运行

java - ArrayList 的输入

java - 递归 JSON 输入导致 SyntaxError : Unexpected end of JSON input at JSON. 解析

java - java 无法识别else语句

java - 使用 JMS 的主工作模式

java - 负字符值 JAVA

java - 将 Java 类(用于代码表示)解析为 JSON 对象

java - 字段成员错误