0

所以我有这个小程序,它需要做的就是检查姓氏的最后一个字母是否是“s”。如果它是“s”,它会将姓氏更改为复数。
前任。
史密斯 = 史密斯的
史密斯 = 史密斯的

将姓氏更改为复数。简单吧?似乎是这样,但我的 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 语句总是只在所有内容中添加一个“'s”。

4

2 回答 2

4

您需要使用双引号来表示String文字。

if (lastLetter.equals("s"))

否则,您将 aStringCharacter始终返回的 a 进行比较false

于 2013-10-17T21:13:30.007 回答
0

您可以比较字符,而不是比较字符串:

char lastLetter = lastName.charAt(intLength- 1);
System.out.println("The last letter is: " + lastLetter);

if (lastLetter == 's')

现在,您正在将字符串与字符进行比较。

于 2013-10-17T21:15:19.163 回答