代码如下:
import java.util.*;
public class HelloWorld
{
public static void main(String[] args)
{
String string1 = "randomString1";
System.out.print(f(string1));
}
public static int f(String string)
{
try {
String string2 = "randomString2";
if(string.equals(string2) == true);
return 0;
}
catch(Exception e){
e.printStackTrace();
}
return 1;
}
}//end of class
现在,这个程序的输出是
0
但我希望它是:
1
因为我希望 f
函数执行的操作是,如果字符串相同则返回 0
,否则返回 1
.
所以,这里肯定有我知道的错误,我猜它与 equals
方法有关。
最佳答案
问题是:
if(string.equals(string2) == true);
----------------------------------^
你需要删除分号 else,它本身就是一个表达式,什么都不做:
if(string.equals(string2) == true) return 0;
关于Java - 函数没有返回我所期望的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43392421/