0

我想重新排列一个正在输入的名称,lastname:firstname,middlename以便 o/p 是第一个中间和最后一个。我有它,所以它在分号逗号和空格处拆分。

这是我到目前为止所拥有的:

Scanner n = new Scanner(System.in);

System.out.println("Welcome to the Name Rearranging Program");
System.out.println(" Enter a name in our format:");
// format is lastname:firstname,middlename

String name = n.next();

String[] arr = name.split("[:, ]");

for (int i = 0; i < arr.length; ++i) {
    System.out.println(arr[i]);
}
4

2 回答 2

3

由于这听起来像是家庭作业或其他学习练习,因此这里有一个提示,可以帮助您上路。尝试添加以下...

String arr = name.split(...);
String last = arr[0];
String first = arr[1];
String middle = arr[2];

这应该足以使下一步尽可能直观。

于 2013-09-17T02:25:54.303 回答
0

好吧,我想我会跟随 atk 的领导,而不是完全放弃答案,但你也可以使用字符串而不是数组来做到这一点。您可以按照以下方式做一些事情:

int colon = name.indexOf(":");
int comma = name.indexOf(",");

从那里您可以使用string.substring(int beginIndex, int endIndex)上述两个变量将名称的每个部分分隔成自己的字符串,然后根据需要打印出来。

此链接讨论子字符串: http ://www.tutorialspoint.com/java/java_string_substring.htm

于 2013-09-17T02:34:22.470 回答