0

我正在用 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);

} }

4

1 回答 1

1

这一行:

if (word.charAt(charactercount) == " "){

用于==比较 2 个不同的东西,左边是一个字符,右边是一个字符串。因此,即使它们都是空格,它们也不能相等。字符版本的空格看起来像' '.

还有其他问题会阻止该代码工作,但这就是您目前要询问的问题。

于 2014-02-14T15:21:05.063 回答