【问题标题】:Printing first and last name from first name, last name to last name, first name从名字,姓氏到姓氏,名字打印名字和姓氏
【发布时间】:2019-10-24 01:34:25
【问题描述】:

formatName 方法应该 接受一个名为 name 的字符串,其中包含“First Last”格式的名称。你可以假设 字符串中只有一个空格。该方法应该创建并返回一个包含名称的字符串 格式为“Last, First”。

public static void formatName ( String name ) {
 Scanner scan = new Scanner ( System.in);

 String firstName;
 String lastName;
 int index;


 System.out.println(" Enter First Name : ");
 firstName = scan.nextLine();

 System.out.println(" Enter Last Name : ");
 lastName = scan.nextLine();

 for ( int i = 0; i < lastName (); i++){
    for ( int x = 0; x < firstName(); x++){

 name += firstName.charAt(i);
 name += lastName.charAt(x);

 return name;
    }
 }

}//end formatName

【问题讨论】:

  • 这看起来就像是家庭作业问题或练习的副本。你试过什么了?您有具体问题吗?
  • 我的错应该是输入密码
  • 但我试图将名字和姓氏切换为姓氏,名字 ex/john doe, doe john
  • 看起来你的代码都被注释掉了。您正在尝试一次访问一个字符的名称。你不需要这样做。只需在字符串级别与他们合作。您不需要将 name 作为参数传递。你会通过什么?您将它用作局部变量来保存您最终返回的最终结果。
  • 首先,应该创建并返回一个字符串,所以方法不应该是void。其次,您应该对name 参数进行操作,而不是提示输入更多信息。第三,您应该在该论点中寻找空间。第四,一旦你知道空间在哪里,你应该能够将空间左侧和右侧的String 的部分格式化为新的String

标签: java printing


【解决方案1】:

您的 formatName 方法比应有的复杂。要求是采用一个带有名字(空格)姓氏的字符串并返回姓氏(逗号空格)名字。

用户输入应在 formatName 方法之外进行。

查看下面的示例

public static void main(String[] args) throws Exception {
        Scanner scan = new Scanner ( System.in);
        System.out.println(" Enter Name : ");
        String name = scan.nextLine();
        System.out.println("Input: " + name);
        System.out.println("Formated: " + formatName(name));
    }

    public static String formatName ( String name ) throws Exception {
        String[] nameTokenized = name.split(" ");
        if (nameTokenized.length!=2){
            throw new Exception("Incorrect Name");
        }
        String firstName = nameTokenized[0];
        String lastName = nameTokenized[1];

        return lastName + ", " + firstName;
    }//end formatName

在 main 方法中,用户可以输入单个字符串(名称)。代码为该输入字符串调用formatName(name) 方法,并期望该方法返回一个打印在控制台上的字符串。

formatName 方法将名称字符串拆分为存储在数组中的部分(nameTokenized)。如果数组的长度不是 2,这意味着它们之间的名称不完全是空格,则会引发异常。

如果输入(姓名)正确,则设置 firstName 和 lastName 变量,该方法以 lastname(comma space)firstname 格式返回字符串。

样本输出:

 Enter Name : 
Joe Doe
Input: Joe Doe
Formated: Doe Joe

输入错误

 Enter Name : 
Joe Doe Doe
Input: Joe Doe Doe
Exception in thread "main" java.lang.Exception: Incorrect Name
    at Main2.formatName(Main2.java:17)
    at Main2.main(Main2.java:11)

【讨论】:

    猜你喜欢
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-07
    • 1970-01-01
    • 2021-09-03
    相关资源
    最近更新 更多