如何解决提示用户在一行上输入名称并将其打印为“ Last,First”
这是您需要执行的步骤列表:
获取输入[将是示例:“约翰·史密斯”]
分成两部分[有几种方法可以执行此操作]
firstName = input.substring(0, input.indexOf(" "));
lastName = input.substring(input.indexOf(" ")+1, input.length());
substring()返回字符串的一部分。
indexOf()在字符串中查找特定字符。
在这种情况下,我们从头开始,到找到空间时结束。
为了获得姓氏,我们从找到空格的地方开始,到字符串的末尾结束。
您还可以将其与.trim()方法结合使用,该方法从字符串的开头/结尾删除空格。
最后,我们返回串联的值:
return lastName + ", " + firstName;
完整的代码:
package lab11;
import java.util.Scanner;
public class Lab11 {
public static Scanner user_input;
public static void main(String[] args) {
user_input = new Scanner(system.in);
System.out.print("Enter your name: ");
System.out.println(changeNameFormat(user_input.nextLine()));
}
public static String changeNameFormat(String input) { //Pass a name
String firstName, lastName;
firstName = input.substring(0, input.indexOf(" "));
lastName = input.substring(input.indexOf(" ")+1, input.length());
return lastName + ", " + firstName;
}
}
经过测试:http://www.compileonline.com/compile_java_online.PHP
由于您的名称为“ changeNameFormat()”,因此我们可能应该将其更改为我们想要更改的名称。
然后在我们的主体中,我们可以获得输入,甚至可以将其作为参数传递。
解决方法
在我们整个实验室中,没有人能够解决这个问题,因此我们必须做作业。我们要提示用户在一行上输入他们的名字和姓氏。主要方法应该处理所有println语句,并且应将名称打印为Last,First。
line 26 states "cannot find symbol."
line 36 states "not a statement. ';' expected.
line 39 states unreachable statement.
我已经玩了一个小时的代码,几乎已经放弃了。有什么帮助吗?
/*
* To change this template,choose Tools | Templates
* and open the template in the editor.
*/
package lab11;
import java.util.Scanner;
/**
*
* @author xxxxxx
*/
public class Lab11 {
public static void main(String[] args) {
System.out.println("Enter your name: ");
Scanner user_input=new Scanner(System.in);
changeNameFormat();
System.out.println(lastName+"," + firstName);
System.out.println("Enter a word. ");
palindrome();
}
public static String changeNameFormat() {
String firstName,lastName;
firstName,lastName = user_input.nextLine;
return lastName;
return firstName;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。