Java: 如何制作名称字段
Java: how to make field of names
首先对不起我的英语。
我想问你如何制作我可以从用户 put/save 命名的名称字段。
这是我的尝试,但每次我 运行 它和用户写他的名字时,字段中的名字都被用户名替换。希望你能理解我。
Scanner sc = new Scanner(System.in);
String[] name = {"John","Nico","Sarah","Pablo","Micheal"};
for (int i = 0; i < 1; i++)
{
System.out.println("Write your name: ");
String s = sc.nextLine();
name[i] = s;
}
Arrays.sort(name);
for (String s2 : name)
{
System.out.print(s2 + ", ");
}
}
}
Scanner scanner = new Scanner(System.in);
String[] names = {"John", "Nico", "Sarah", "Pablo", "Micheal", ""};
System.out.print("Write your name: ");
String userName = scanner.nextLine();
names[names.length - 1] = userName;
System.out.println(Arrays
.stream(names)
.sorted()
.collect(Collectors.joining(",")));
这应该return你想要的。
数组总是有固定的大小。通过键入:
String[] names = {"John", "Nico", "Sarah", "Pablo", "Micheal"};
您将数组的大小定义为 5。通过添加额外的 "",您可以 "reserve" 放置用户名。
使用:
names[names.length - 1] = userName;
您用用户输入替换“”,而不是像在您的解决方案中那样替换名字。
希望这对您有所帮助。编码愉快!
您似乎在用一些值初始化数组名称[],然后用用户输入覆盖这些值。如果你只想初始化数组,那么你可以使用数组初始化语法。
String[] name = new String[5];
同样在 for 循环中,条件 i < 1 是错误的。应该是 i < name.length.
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//String[] name = { "John", "Nico", "Sarah", "Pablo", "Micheal" };
String[] name = new String[5];
//for (int i = 0; i < 1; i++) {
for (int i = 0; i < name.length; i++) {
System.out.println("Write your name: ");
String s = sc.nextLine();
name[i] = s;
}
Arrays.sort(name);
for (String s2 : name) {
System.out.print(s2 + ", ");
}
}
首先对不起我的英语。 我想问你如何制作我可以从用户 put/save 命名的名称字段。 这是我的尝试,但每次我 运行 它和用户写他的名字时,字段中的名字都被用户名替换。希望你能理解我。
Scanner sc = new Scanner(System.in);
String[] name = {"John","Nico","Sarah","Pablo","Micheal"};
for (int i = 0; i < 1; i++)
{
System.out.println("Write your name: ");
String s = sc.nextLine();
name[i] = s;
}
Arrays.sort(name);
for (String s2 : name)
{
System.out.print(s2 + ", ");
}
}
}
Scanner scanner = new Scanner(System.in);
String[] names = {"John", "Nico", "Sarah", "Pablo", "Micheal", ""};
System.out.print("Write your name: ");
String userName = scanner.nextLine();
names[names.length - 1] = userName;
System.out.println(Arrays
.stream(names)
.sorted()
.collect(Collectors.joining(",")));
这应该return你想要的。
数组总是有固定的大小。通过键入:
String[] names = {"John", "Nico", "Sarah", "Pablo", "Micheal"};
您将数组的大小定义为 5。通过添加额外的 "",您可以 "reserve" 放置用户名。
使用:
names[names.length - 1] = userName;
您用用户输入替换“”,而不是像在您的解决方案中那样替换名字。
希望这对您有所帮助。编码愉快!
您似乎在用一些值初始化数组名称[],然后用用户输入覆盖这些值。如果你只想初始化数组,那么你可以使用数组初始化语法。
String[] name = new String[5];
同样在 for 循环中,条件 i < 1 是错误的。应该是 i < name.length.
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//String[] name = { "John", "Nico", "Sarah", "Pablo", "Micheal" };
String[] name = new String[5];
//for (int i = 0; i < 1; i++) {
for (int i = 0; i < name.length; i++) {
System.out.println("Write your name: ");
String s = sc.nextLine();
name[i] = s;
}
Arrays.sort(name);
for (String s2 : name) {
System.out.print(s2 + ", ");
}
}