如何使用if语句比较单词字母?

时间:2017-07-05 20:52:33

标签: java string if-statement charat

我试图编写一个程序来读取单词并打印出来:

  • 以字母y结尾。

  • 具有相同的第一个和最后一个字符,忽略大小写。

这是我到目前为止所做的,但我在思考一行代码时会遇到问题,这些代码会检查单个字母或比较第一个和最后一个字母。

  if (. . .)
  {
     System.out.println(word + " ends in a y");
  }

  if (. . .)
  {
     System.out.println(word + " starts and ends with the same letter");
  }      

3 个答案:

答案 0 :(得分:1)

String有一个endsWith方法。

if (word.endsWith("y") || word.endsWith("Y")) {
    System.out.println(word + " ends with y");
}

只要字符串不为空,您就可以使用charAt从字符串中获取字符。您可以使用Character.toUpperCase将字符转换为大写字母,这样您就可以比较字符而无需担心它们所处的情况。

if (word.length() > 0 && Character.toUpperCase(word.charAt(0))==Character.toUpperCase(word.charAt(word.length()-1))) {
    System.out.println(word + " starts and ends with the same letter.");
}

答案 1 :(得分:0)

您可以同时使用String.endsWith

s.endsWith("y");
s.endsWith(s.substring(0,1));

您也可以将字符串拆分为char数组并使用直接比较。

答案 2 :(得分:-1)

在字符串中考虑一个单词hello。您可以使用word.length()轻松获得单词长度,这将为" Hello"

返回5

使用另一个名为charAt(int position)的方法,您可以获得给定位置的字符。

的System.out.println(将String.valueOf(word.charAt(0))); //结果是H. 的System.out.println(将String.valueOf(word.charAt(4))); //结果是o

4是单词减去1的长度所以尝试以这种方式动态地找到所有单词:

String.valueOf((word.length()-1))

如果您有两个字符串,可以将它们与:

进行比较
string1.equals(string2)

如果相同则返回true,否则返回false。

以下是完整的源代码:

    String word = "Hello";

    //no if is needed for the first one
    println(word + " ends with letter " + word.charAt(word.length()-1) + ".");


   if (String.valueOf(word.charAt(0)).equals(String.valueOf(word.charAt(word.length()-1)))) {
        println(word + " starts and ends with the same letter.");
    }