所以我有这个小程序,它需要做的就是检查姓氏的最后一个字母是否是" s"。如果它是一个" s"它会将姓氏改为复数
例
史密斯=史密斯的
Smiths = Smiths'
将姓氏更改为复数。简单吧?似乎是这样,但是我的if语句没有检测到最后一个字母是" s"
这里有一些代码
import javax.swing.JOptionPane;
public class Lastname {
public static void main(String[] args) {
String messageText = null;
String title = null;
int messageType = 0;
String lastName = "";
String pluralLastName = "";
Input input;
input = new Input();
messageText = "Please enter a last name. I'll make it plural.";
title = "Plural Last Names";
messageType = 3;
lastName = input.getString(messageText,title,messageType);
int intLength = lastName.length();
String lastLetter = lastName.substring(intLength- 1);
System.out.println("The last letter is: " + lastLetter);
if (lastLetter.equals('s'))
JOptionPane.showMessageDialog(null, "The last name entered as plural is " + lastName + "'" );
else
JOptionPane.showMessageDialog(null, "The last name entered as plural is " + lastName + "'s" );
}}
if语句总是只添加一个""""对一切。
答案 0 :(得分:4)
您需要使用双引号来表示String
字面值。
if (lastLetter.equals("s"))
否则,您要将String
与Character
进行比较,false
将始终返回{{1}}。
答案 1 :(得分:0)
您可以比较字符:
,而不是比较字符串char lastLetter = lastName.charAt(intLength- 1);
System.out.println("The last letter is: " + lastLetter);
if (lastLetter == 's')
现在,您正在将字符串与字符进行比较。