首页 文章

二进制运算符'||'错误的错误操作数类型

提问于
浏览
-1

我一直在尝试创建一个程序,如果用户输入 candyC 进入扫描程序,那么程序将执行一些代码,尽管我很难比较这两个变量 .

import java.util.Scanner;

public class StringOrChar
{
public static void main(String[] args)
{
    System.out.println("Guess a word or character");
    Scanner keyboard = new Scanner(System.in);
    String input;
    input = keyboard.nextLine();

    char c = input.charAt(0);

    if (input.equalsIgnoreCase("candy") || c = "C")
    {
        System.out.println("You guessed correctly.");
    }
    else
    {
        System.out.println("Try again...");
    }


}
}

在运行程序时,我收到错误“二进制运算符的错误操作数类型'||' “虽然我对如何修复它毫无头绪 . 我知道我可以使用

input.equals("C")

但我想知道如何使用 charAt() 方法 .

3 回答

  • 1

    几个错误,需要纠正 . 虽然 equalsIgnoreCase 足以匹配 candyCandyCANDY ,**字 candy 中的任何大写/小写字母

    1.) c = "C" is assignment not comparison .

    2.) c 在这里 char ,所以需要 compare char with charnot char with String . 所以写 c == 'C'

    代码应如下所示 .

    Code

    public static void main(String[] args) {
            System.out.println("Guess a word or character");
            Scanner keyboard = new Scanner(System.in);
            String input;
            input = keyboard.nextLine();
    
            char c = input.charAt(0);
    
            if (input.equalsIgnoreCase("candy") || c == 'C') {
                System.out.println("You guessed correctly.");
            } else {
                System.out.println("Try again...");
            }
        }
    

    Ouput

    1.)用户类型C.

    Guess a word or character
    C
    You guessed correctly.
    

    2.)用户类型c

    Guess a word or character
    c
    Try again...
    

    3.)用户输入糖果或糖果

    Guess a word or character
    candy
    You guessed correctly.
    
  • 0

    如果你的意图是允许用户键入 "candy""C" ,你的代码赢了't get the job done even after you fix the compiler errors. It',检查 C 的第一个字符,这意味着它将匹配以 C 开头的 any 用户输入,包括 CharlieCaddywumpus 等 . 如果那不是什么你想要的,那么你必须将整个字符串与 "C" 进行比较并忘记 charAt(0)

    if (input.equalsIgnoreCase("candy") || input.equalsIgnoreCase("C")) {
    

    另一方面,如果你真的想允许以C开头的任何输入,你需要在你的问题中明确说明 .

  • 2

    您不需要任何其他检查

    if (input.equalsIgnoreCase("candy") || c == 'C' )
    

    编辑:仅处理字符输入

相关问题