我试图编写一个程序来读取单词并打印出来:
以字母y结尾。
具有相同的第一个和最后一个字符,忽略大小写。
这是我到目前为止所做的,但我在思考一行代码时会遇到问题,这些代码会检查单个字母或比较第一个和最后一个字母。
if (. . .)
{
System.out.println(word + " ends in a y");
}
if (. . .)
{
System.out.println(word + " starts and ends with the same letter");
}
答案 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)
答案 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.");
}