Java:如何创建名称字段

Java:如何创建名称字段,java,field,Java,Field,首先对不起我的英语。 我想问你们,我怎样才能建立一个名称字段,我可以把/保存用户的名称。 这是我的尝试,但每次我运行它,用户写下他的名字时,字段中的第一个名字就被用户名替换了。我希望你能理解我 Scanner sc = new Scanner(System.in); String[] name = {"John","Nico","Sarah","Pablo","Micheal"}; for (int i = 0; i < 1; i++) {

首先对不起我的英语。 我想问你们,我怎样才能建立一个名称字段,我可以把/保存用户的名称。 这是我的尝试,但每次我运行它,用户写下他的名字时,字段中的第一个名字就被用户名替换了。我希望你能理解我

    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 sc=新扫描仪(System.in);
String[]name={“John”、“Nico”、“Sarah”、“Pablo”、“Micheal”};
对于(int i=0;i<1;i++)
{
System.out.println(“写下你的名字:”);
字符串s=sc.nextLine();
名称[i]=s;
}
数组。排序(名称);
for(字符串s2:名称)
{
系统输出打印(s2+“,”);
}
}
} 
这应该会返回您想要的内容

数组的大小总是固定的。通过键入:

String[] names = {"John", "Nico", "Sarah", "Pablo", "Micheal"};
将数组的大小定义为5。通过添加额外的“”,您可以为用户名“保留”一个位置

使用:

names[names.length - 1] = userName;
您可以用用户输入替换“”,而不是像在解决方案中那样替换名字


希望这有帮助。快乐编码

看起来您正在用一些值初始化数组名[],然后用用户输入覆盖这些值。如果只想初始化数组,则可以使用数组初始化语法

String[] name = new String[5];
同样在for循环中,条件i<1是错误的。它应该是i
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 + ", ");

        }
    }
publicstaticvoidmain(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
//String[]name={“John”、“Nico”、“Sarah”、“Pablo”、“Micheal”};
字符串[]名称=新字符串[5];
//对于(int i=0;i<1;i++){
for(int i=0;i
那么您想在不替换已保存名称的情况下向字段中添加名称吗?
for(int i=0;i<1;i++)
毫无意义。它只“循环”一次。您正在通过执行
name[i]更新索引0处的
名称
数组=s;
其中
i
为0。您是否只想读取用户名,然后将其与其他用户名一起排序?
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 + ", ");

        }
    }