System.out.print("Enter a sentence: ");
String sentence = kb.readLine();
int sLength = sentence.length();
if (sentence.charAt(sLength).equals('?')
System.out.println("Yehey!!!!!");
我正在尝试获取最后一个字符并将其与“?”进行比较,我的代码不起作用。我该如何解决这个问题呢?
答案 0 :(得分:6)
应该是:
sentence.charAt(sLength - 1) == '?'
↑
Your savior
你需要-1,因为如果长度为N
的字符串,则最后一个字符位于N - 1
:
返回指定索引处的char值。索引的范围为0 到
length()
- 1
另请注意,它会返回char
,而不是String
。由于char
是原语,因此您无法调用equals
,==
就可以了。
答案 1 :(得分:0)
正确的方法是:
if (sentence.charAt(sLength-1).equals('?')
System.out.println("Yehey!!!!!");
因为字符串的最后一个 char 是( array.length() - 1 )
答案 2 :(得分:-1)
应该是:
sentence.charAt(sLength - 1) == '?'