2013-11-06 2 views
0

поэтому мне нужно найти способ заставить мою программу удерживать строку имен, которые пользователь собирается ввести. массив будет содержать в общей сложности пять имен и будет выводить всю информацию обратно пользователю с их введенными именами. Я использую один основной класс. до сих пор это то, что у меня есть:Массивы в Java?

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); 
} 

Спасибо за любую помощь, которую я могу получить.

+2

Мне кажется, все в порядке, но почему бы не попробовать, чтобы увидеть, работает ли это? Вы также можете распечатать их позже, используя цикл для итерации массива и печати каждого имени отдельно. –

+2

Локальные переменные должны начинаться с нижнего регистра. Используйте 'userName' вместо' UserNames' – Vertex

+1

Разве вы не можете дать ему шанс и посмотреть, работает ли он? – Prateek

ответ

4

Это кажется, что вы делаете это правильно.

Чтобы распечатать их, вам необходимо пройти через массив.

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

это было именно то, чего я отсутствовал. – user2934105

+2

@ user2934105 Тогда вы можете показать iajrz ответчик, любезно согласившись с ответом. Возможно, вы захотите использовать размер массива для управления циклом. Сделайте это с помощью 'i

8

Мне нужно знать, правильно ли оно хранит имена в массиве?

Так, распечатайте массив, как только вы заполнили его Arrays.toString()

+1

Это (более) правильный ответ. Не пишите то, что уже было написано. – MirroredFate

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() верните полный список магазинов строк

Смежные вопросы