Java 将名字和姓氏从名字、姓氏打印到姓氏、姓氏
formatName方法应该 接受名为name的字符串,该字符串包含格式为“First-Last”的名称。你可以假设 字符串中只有一个空格。该方法应创建并返回包含名称的字符串 格式为“最后,第一”Java 将名字和姓氏从名字、姓氏打印到姓氏、姓氏,java,printing,Java,Printing,formatName方法应该 接受名为name的字符串,该字符串包含格式为“First-Last”的名称。你可以假设 字符串中只有一个空格。该方法应创建并返回包含名称的字符串 格式为“最后,第一” 公共静态void formatName(字符串名称){ 扫描仪扫描=新扫描仪(System.in); 字符串名; 字符串lastName; 整数指数; System.out.println(“输入名字:”); firstName=scan.nextLine(); System.out.println(
公共静态void formatName(字符串名称){
扫描仪扫描=新扫描仪(System.in);
字符串名;
字符串lastName;
整数指数;
System.out.println(“输入名字:”);
firstName=scan.nextLine();
System.out.println(“输入姓氏:”);
lastName=scan.nextLine();
对于(int i=0;i
您的formatName方法比它应该的更复杂。要求使用一个字符串firstname(空格)lastname并返回lastname(逗号空格)firstname
用户输入应在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(逗号空间)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)
这看起来就像是一个家庭作业问题或练习的副本。到目前为止你试过什么?你有什么特别的问题吗?我的坏蛋本应该输入代码的,但我正在尝试将名字和姓氏切换到姓氏,姓氏ex/john doe,doe johnLooks好像你的代码都被注释掉了。您试图一次访问一个字符的名称。你不需要那样做。只需在字符串级别使用它们。您不需要将
name
作为参数传递。你会通过什么?您使用它作为局部变量来保存最终结果,最终结果只返回。首先,应该创建并返回一个字符串,这样该方法就不应该是void
。其次,您应该对name
参数进行操作,而不是提示进行更多输入。第三,你应该在这个论点中寻找一个空间。第四,一旦知道空间的位置,就应该能够将该空间左右两侧的字符串部分格式化为新的字符串。
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)