我用Java写了一个简单的程序,后面写了一个字。试图检查“你好”是否有效。在if
- 语句中,我正在检查该字符串是否等于“olleh”。任何人都可以看到为什么if语句不会执行。
public class MyProgram {
public static void main(String[] args) {
String x = "hello";
System.out.println(back(x));
}
public static String back(String str) {
String y = " ";
String temp = " ";
for (int i = str.length() - 1; i >= 0; i--) {
char lets = str.charAt(i);
y += Character.toString(lets);
System.out.println(y);
if (y.equals("olleh")) {
System.out.println("nice");
}
}
return y;
}
}
答案 0 :(得分:0)
如果您将y
变量初始化为空字符串而不是空格,则您的if语句将执行并打印" nice"。此外,您不需要temp
字符串,因为您不能使用它。您可能希望返回还原的字符串(或者您可以使您的方法无效并删除return语句)。
public static String back(String str) {
String y = "";
for (int i = str.length() - 1; i >= 0; i--) {
char lets = str.charAt(i);
y += Character.toString(lets);
System.out.println(y);
if (y.equals("olleh")) {
System.out.println("nice");
}
}
return y;
}
顺便说一下,当您在循环中连接字符串时,最好使用StringBuilder
。
答案 1 :(得分:0)
试试这个会起作用
public class MyProgram
{
public static void main(String[] args)
{
String x = "hello";
System.out.println(back(x));
}
public static String back(String str )
{
String temp = "";
for (int i = str.length() - 1; i >= 0; i--) {
char lets = str.charAt(i);
temp = temp + lets;
}
if (temp.equals("olleh")) {
System.out.println("nice");
}
return temp;
}
}