Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java “为什么?”;";“不相等”;";在这个例子中?_Java_Substring - Fatal编程技术网

Java “为什么?”;";“不相等”;";在这个例子中?

Java “为什么?”;";“不相等”;";在这个例子中?,java,substring,Java,Substring,我想用java为我的大学课堂写一个简单的刽子手游戏。出于某种原因,if语句从不返回似乎认为被比较的两个子字符串相等。这两份书面声明表明,无论如何,这两份声明应该是等同的 public String guessLetter(String letter) { String blanks = ""; String theWord="FOO"; for(int i=0; i<=theWord.length()-1; i++) { Sy

我想用java为我的大学课堂写一个简单的刽子手游戏。出于某种原因,if语句从不返回似乎认为被比较的两个子字符串相等。这两份书面声明表明,无论如何,这两份声明应该是等同的

public String guessLetter(String letter)
{
    String blanks = "";
            String theWord="FOO";
    for(int i=0; i<=theWord.length()-1; i++)
    {
        System.out.print(letter.substring(0,1).toUpperCase());
        System.out.print(theWord.substring(i,i+1)+ "\n");

        if((letter.substring(0,1).toUpperCase())==(theWord.substring(i,i+1)))
        {
            blanks = blanks + theWord.substring(i,i+1);
        }
        else
        {
            blanks = blanks + "___  ";
        }           
    }
    return blanks;
}
公共字符串字母(字符串字母)
{
字符串空格=”;
字符串theWord=“FOO”;

对于(int i=0;i您正在比较一个字符串,因此请使用
字符串.equals()
不要使用
=

这样使用:

if((letter.substring(0,1).toUpperCase()).equals(theWord.substring(i,i+1)))

您正在比较字符串,因此请使用
“String”.equals()
不要使用
==

这样使用:

if((letter.substring(0,1).toUpperCase()).equals(theWord.substring(i,i+1)))
if((letter.substring(0,1).toUpperCase())==(the word.substring(i,i+1)))
\n这对于字符串是错误的

比较字符串时,应使用
.equals
.equalsIgnorecase

if((letter.substring(0,1).toUpperCase()).equals(theWord.substring(i,i+1)))
ans也在这里给出了很好的解释。

如果((letter.substring(0,1).toUpperCase())==(word.substring(i,i+1))
\n这对于字符串是错误的

比较字符串时,应使用
.equals
.equalsIgnorecase

if((letter.substring(0,1).toUpperCase()).equals(theWord.substring(i,i+1)))

ans也在这里给出了很好的解释。

Java没有
=
作为字符串

您必须使用
string1.equals(string2)
函数Java没有
=
作为字符串

必须使用
string1.equals(string2)
function

当您比较字符串时,必须使用等于函数而不是==作为回答者:这个问题已经详细回答了。如果您仍然想回答它,请花更多的时间和解释。@tjtoml如果我的回答有帮助,您可以选择我的回答当您比较字符串时,您必须使用等于函数而不是==作为回答者s:这个问题已经详细回答了。如果你还想回答,请花更多的时间和解释。@tjtoml如果我的回答有帮助,你可以选择我的答案为什么
==
不起作用?比较什么?我想解释对OP非常有帮助。==检查身份。也就是说,这两个对象是否是同一个对象并指向内存中的同一地址。默认情况下,..equals()执行相同的操作,但可以重写以执行不同的相等比较。(即,如果字符串具有相同顺序的相同字符,则认为字符串相等)为什么
==
不起作用?比较的是什么?我认为解释会对操作非常有帮助。==检查标识。即两个对象是否是相同的对象并指向内存中的相同地址。..equals()默认情况下做相同的事情,但可以重写以执行不同的相等比较。(即,如果字符串具有相同顺序的相同字符,则认为它们相等)