我在java中编写这段代码来扫描数字或字母字符串,看它们是否是连续的。一切似乎工作正常,直到我尝试在那里放置一个布尔值来返回true或false但没有发生任何事情!我错过了什么?谢谢! :)
这是:
public class Question1 {
public static void main(String[]args){
String s = "gFeD";
isConsecutive(s);
}
public static boolean isConsecutive(String s){
boolean letters;
letters = false;
int counter = 0;
String newS = s.toLowerCase();
for (int i = 0; i < newS.length() - 1; i++){
if (newS.charAt(i) - newS.charAt(i+1) == 1){
return true;
} else if (newS.charAt(i) - newS.charAt(i+1) == -1) {
return true;
}
}
return letters;
}
}
答案 0 :(得分:4)
for (int i = 0; i < newS.length() - 1; i++){
if (newS.charAt(i) - newS.charAt(i+1) == 1){
return true;
} else if (newS.charAt(i) - newS.charAt(i+1) == -1) {
return true;
}
这不是你想要的。
答案 1 :(得分:3)
你没有对返回值做任何事情。如果要在控制台上查看,请执行System.out.println(isConsecutive(s));
。这就是“什么都没发生”的原因。它在你写的时候正常运行;它只是不产生任何可见的输出。
答案 2 :(得分:1)
只需使用System.out.println(isConsecutive(s));
替换main方法的最后一行。这应该工作。
答案 3 :(得分:0)
您没有打印任何内容,请尝试System.out.println(isConsecutive(s));