如何在java中获得名字
如何得到朋友的名字 但是这里我想取名字,即使它的输入是带有空格的姓氏 例如: 第一个朋友 我输入名字:阿尔文·英德拉 第二个朋友 我输入名称:Redi Rusmana 和输出: 阿尔文 雷迪 请帮帮我 语法:如何在java中获得名字,java,arrays,loops,for-loop,if-statement,Java,Arrays,Loops,For Loop,If Statement,如何得到朋友的名字 但是这里我想取名字,即使它的输入是带有空格的姓氏 例如: 第一个朋友 我输入名字:阿尔文·英德拉 第二个朋友 我输入名称:Redi Rusmana 和输出: 阿尔文 雷迪 请帮帮我 语法: package latihan; import java.util.Scanner; public class LatihanArray { public static void main(String[] args) { int many; S
package latihan;
import java.util.Scanner;
public class LatihanArray {
public static void main(String[] args) {
int many;
String[] friend = new String[100];
Scanner sc = new Scanner(System.in);
Scanner scx = new Scanner(System.in);
System.out.print("Enter How Many Friends : ");
many = sc.nextInt();
for(int i=0;i<n;i++){
System.out.print("Friend Of-"+(i+1)+" : ");
friend[i] = scx.nextLine();
}
System.out.print("\n");
System.out.println("Initials : ");
for(int i=0;i<many;i++){
System.out.println((i+1)+". "+friend[i].charAt(0));
}
System.out.print("\n");
System.out.println("4 Letterhead : ");
for(int i=0;i<n;i++){
System.out.println((i+1)+". "+friend[i].substring(0,4));
}
System.out.println("First Name : ");
for(??????){
if(??????){
for(????????){
???????????????;
}
}
}
}
}
package-latihan;
导入java.util.Scanner;
公共类LatihanArray{
公共静态void main(字符串[]args){
int多;
String[]friend=新字符串[100];
扫描仪sc=新的扫描仪(System.in);
扫描仪scx=新扫描仪(System.in);
System.out.print(“输入有多少朋友:”);
many=sc.nextInt();
对于(int i=0;i您可以将朋友的姓名输入为字符串”
(各部分之间带有空格符号)。如果您想将其存储为一个字符串,可以使用以下方法:
正则表达式:(?\w+)\s+(?\w+)
并直接获取这两部分
用空格拆分字符串:string[]parts=friend.Split(“\s+”)
并将parts[0]
作为名字,将parts[1]
作为姓氏
但我强烈建议您使用特殊类来存储输入数据,因为在一般情况下,如果您需要后处理,最好为其准备所有数据。我给您举一个简单的示例来显示id。您可以查看它,并可能使用它进行一些更正(因为我不知道您的要求):
朋友资料持有者
final class Friend {
private final int id;
private final String firstName;
private final String lastName;
public Friend(int id, String firstName, String lastName) {
this.id = id;
this.firstName = firstName;
this.lastName = lastName;
}
public String getInitials() {
return String.valueOf(firstName.charAt(0)) + lastName.charAt(0);
}
public String getLetterHead() {
return firstName.substring(0, 4);
}
}
读取和打印数据的方法(来自您的问题)
使用String.indexOf()
()定位第一个空格,使用String.substring()
()提取first name.System.out.println(“first name:”;for(?)if(?)for(?)for(?)for(?)for(?)for(?)where?
List<Friend> friends = new ArrayList<>();
Scanner scan = new Scanner(System.in);
System.out.print("Enter How Many Friends : ");
int many = scan.nextInt();
for (int i = 0; i < many; i++) {
System.out.print("Friend Of-" + (i + 1) + " : ");
String firstName = scan.next();
String lastName = scan.next();
friends.add(new Friend(i + 1, firstName, lastName));
}
scan.close();
System.out.println("\nInitials: ");
for (Friend friend : friends)
System.out.println(String.format("%d. %s", friend.id, friend.getInitials()));
System.out.println("\n4 Letterhead: ");
for (Friend friend : friends)
System.out.println(String.format("%d. %s", friend.id, friend.getLetterHead()));
System.out.println("\nFirst Name: ");
for (Friend friend : friends)
System.out.println(String.format("%d. %s", friend.id, friend.firstName));
System.out.println("\nLast Name: ");
for (Friend friend : friends)
System.out.println(String.format("%d. %s", friend.id, friend.lastName));
}
}
Enter How Many Friends : 2
Friend Of-1 : Alvin Indra
Friend Of-2 : Redi Rusmana
Initials:
1. AI
2. RR
4 Letterhead:
1. Alvi
2. Redi
First Name:
1. Alvin
2. Redi
Last Name:
1. Indra
2. Rusmana