0

所以我需要找到一种方法让我的程序保存用户要输入的一串名称。该数组将总共包含五个名称,并将使用输入的名称将所有信息输出回给用户。我正在使用一个主类。到目前为止,这就是我所拥有的:

import java.util.Scanner;
public class Names {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    // TODO code application logic here

    Scanner input = new Scanner (System.in);
     String [] name = new String [5];


     for (int i = 0; i < 5; i++){
        System.out.println("Enter name: ");
        String UserNames = input.nextLine();
         name[i] = UserNames;


       }
    }
}

我需要知道这是否将名称正确存储在数组中?我对java很陌生,需要专业人士的一些见解。另外,如果我想让名字重复给他们,它会像这样吗

{
System.out.println(" The names you entered are:" + UserNames );
}

感谢我能得到的任何帮助。

4

3 回答 3

8

i need to know if this is storing the names correctly in the array?

So, print the array once you've filled it with Arrays.toString()

于 2013-11-06T23:52:30.273 回答
4

It seems you're doing it right.

To print them, you need to loop through the array.

for (int i = 0; i < name.length; i++){
    System.out.println(name[i]);
}
于 2013-11-06T23:52:37.613 回答
1

正如 Kepani 所建议的,您可以尝试 Arrays.toString(arrayVarName)

public static void main(String[] args)
{
     String [] arx = {"alpha", "beta", "gamma", "penta", "quad"};
     System.out.println(arx); // returns object hashcode and not the strings stored 
     System.out.println(Arrays.toString(arx));
}

如果您不知道是否会获得 5 个或更多输入,您可以尝试使用 arraylist

public static void main(String[] args)
{
    ArrayList<String> strList = new ArrayList<String>();
    strList.add("alpha");//Construct would be strList.add(input)
    strList.add("beta");
    strList.add("gamma");
    strList.add("penta");
    strList.add("quad");

    System.out.println(strList);
    System.out.println(strList.toString());
}

正如您将意识到的那样,由于使用泛型 ArrayList.toString() 返回字符串存储的完整列表

于 2013-11-07T00:12:34.720 回答