Java 不兼容类型的问题

Java 不兼容类型的问题,java,Java,我对Java和学习还不熟悉,所以请原谅这个可能很愚蠢的问题 这是一个简单的剪刀布游戏 使用BlueJ,我不断地得到这个错误 “不兼容类型” 运行此代码时 import comp102.*; import java.util.Scanner; public class RPS{ String paper = "paper"; String rock = "rock"; String scissors = "scissors"; public void p

我对Java和学习还不熟悉,所以请原谅这个可能很愚蠢的问题

这是一个简单的剪刀布游戏

使用BlueJ,我不断地得到这个错误

“不兼容类型”

运行此代码时

import comp102.*; 

import java.util.Scanner;


public class RPS{

    String paper = "paper";
    String rock = "rock";
    String scissors = "scissors";    

public void playRound(){

        String paper = "paper";
        String rock = "rock";
        String scissors = "scissors";    

        System.out.print ('\f'); // clears screen
        Scanner currentUserSelection = new Scanner(System.in);

        String enterText = null;
        System.out.println("Make your Selection; Paper, Rock or Scissors: ");
        enterText = currentUserSelection.next();

        System.out.println("enterText = " + enterText);

        if(enterText = paper){
            System.out.println("the IF Stmt is working");
        }

    }
错误是指这一行“如果(enterText=paper){”

非常感谢使用

if(enterText == paper)

相反

如果{..}条件为

if(enterText.equals(paper)){
  System.out.println("the IF Stmt is working");
}
因为您正在if条件中赋值。因此它无效

在if条件内,您必须仅检查它是否为

语法用于
if(){..}

if(true or false) {
  //body
}

如果不允许,则尝试在
中赋值

if(enterText = paper)  //here if expects expression which evaluates to boolean  
改为

if(enterText == paper)

if语句允许有条件地执行一条语句或有条件地选择两条语句,执行一条或另一条语句,但不能同时执行两条语句

表达式的类型必须为boolean或boolean,否则会发生编译时错误。

使用运算符来比较字符串,而不是
==

if(enterText.equals(paper))  //this will compare the String values  
另请参见

您应该使用==来检查是否相等。但由于您处理的是字符串,所以请使用equals()方法

e、 g

这里您使用的是赋值运算符
=

其中,
==
是检查是否相等

java中的更多内容要检查字符串的相等性,您应该使用
equals()

原因:

所以你的代码变成

if(enterText.equals(paper)){
      System.out.println("the IF Stmt is working");
    }
应该是

    if(enterText == paper){
        System.out.println("the IF Stmt is working");
    }

感谢您的帮助:-)不客气。如果您的问题已解决,您可以将以下答案之一标记为已接受。请参阅此链接
if(enterText = paper){
  System.out.println("the IF Stmt is working");
}
if(enterText.equals(paper)){
      System.out.println("the IF Stmt is working");
    }
    if(enterText = paper){
        System.out.println("the IF Stmt is working");
    }
    if(enterText == paper){
        System.out.println("the IF Stmt is working");
    }