创建对话框窗口

时间:2016-01-23 11:38:56

标签: java

我试图创建一个对话框窗口,我要求的人名称格式为:姓氏,姓氏

然后我尝试在新的对话框窗口中显示只是姓氏名称,格式为:Hello! SURNAME!

到目前为止,这是我的代码:

import javax.swing.*; 

  public class Surname {
    public static void main(String[] arg) {

    String a = JOptionPane.showInputDialog(null, "Write your name: Lastname, surname ");

    int i, j;
    i = a.lastIndexOf(???);   
    j = a.indexOf(',' + 1);         

    a = a.substring(i, j);

    JOptionPane.showMessageDialog(null, "Hello! " + a.toUpperCase());  }}

3 个答案:

答案 0 :(得分:2)

您可以通过将字符串拆分为","。

来提取姓氏

例如

String surname = "Novovic, Felix".split(", ")[0];

由于我们正在访问一个数组,这里的大小完全取决于用户的输入,即用户输入" Novovic,Felix,Hello,World"在访问阵列之前,您应该确保输入的格式正确。

例如,通过检查数组长度= 2

答案 1 :(得分:2)

您的子字符串不正确,首先您需要逗号的索引,最后只需要字符串的长度:

int i, j;
i = a.indexOf(',') + 2;
j = a.length();

a = a.substring(i, j);

答案 2 :(得分:1)

使用split(),这样做:

public static void main(String[] args) {
    String a = JOptionPane.showInputDialog(null, "Write your name: Lastname, surname ");
    String[] nameParts = a.split(",");
    JOptionPane.showMessageDialog(null, "Hello! " + nameParts[1].trim().toUpperCase());  
}

...但您可能想要添加更多错误处理。所以这只是一个裸骨的例子