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
答案 0 :(得分:0)
您的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方法中,用户可以输入一个String(名称)。代码为该输入String调用formatName(name)
方法,并期望该方法返回在控制台上打印的String。
formatName方法将名称String拆分为存储在数组(nameTokenized)中的部分。如果数组的长度不为2,则表示名称之间不存在空格,则会引发异常。
如果输入(名称)正确,则将设置firstName和lastName变量,并且该方法将以lastname(逗号空间)firstname的格式返回String。
示例输出:
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)