我在dr java中编写一个简单的程序来读取字符串,然后比较第一个和最后一个字符。我试着对它进行一些验证,但我的语法有问题:
1 error found:
File: /Users/Luke/Documents/University/Programming/Lab/Week 10/wordAnalysis.java [line: 11]
Error: /Users/Luke/Documents/University/Programming/Lab/Week 10/wordAnalysis.java:11: incomparable types: char and java.lang.String
错误是关于if语句检查while循环中的空格:
import java.util.*;
public class wordAnalysis {
public static void main(String [] args) {
String word;
int charactercount;
Scanner sc = new Scanner(System.in);
System.out.println("Please type a word without spaces, (done to stop) ");
word = sc.next();
while (charactercount <= word.length()) {
if (word.charAt(charactercount) == " "){
System.out.println("your word cannot contain spaces please try again.");
wordAnalysis.main(args);
}
}
if (word == "done"){
System.exit(0);
}
if (word.charAt(0) == word.charAt(word.length() - 1)) {
System.out.print("the words first and last letter are the same!");
}
else {
System.out.println("the words first and last letters dont match, try again...");
}
wordAnalysis.main(args);
} }
答案 0 :(得分:1)
这一行:
if (word.charAt(charactercount) == " "){
使用==
来比较2个不同的东西,左边是char,右边是String。所以即使它们都是空间也不能平等。空格的char版本看起来像' '
。
还有其他问题会阻止代码工作,但那是你现在要问的问题。