2014-02-14 61 views
0

我正在写一个简单的java程序来读取一个字符串,然后比较第一个和最后一个字符。我试图把一些验证了进去,但我有与语法的麻烦: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

提示:“string”由'c''h''a''r''' – BRFennPocock

回答

1

这条线:

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

使用==到c ompare 2个不同的东西,左边是一个字符,右边是一个字符串。所以即使它们都是空间,它们也不可能是平等的。空间的char版本看起来像' '

还有其他问题会阻止代码的工作,但这是你现在要询问的问题。