如何获取用户输入的最后一个字符?

时间:2014-12-01 13:40:45

标签: java

System.out.print("Enter a sentence: ");
String sentence = kb.readLine();
int sLength = sentence.length();

if (sentence.charAt(sLength).equals('?')
    System.out.println("Yehey!!!!!");

我正在尝试获取最后一个字符并将其与“?”进行比较,我的代码不起作用。我该如何解决这个问题呢?

3 个答案:

答案 0 :(得分:6)

应该是:

sentence.charAt(sLength - 1) == '?'
                        ↑ 
                    Your savior

你需要-1,因为如果长度为N的字符串,则最后一个字符位于N - 1

String#charAt

  

返回指定索引处的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) == '?'