Не могу понять - Сканнер в строчный массив

 
 
 
Сообщения:9
Спасибо всем кто зашел

Собственно проблема с которой я столкнулся и на решение которой у меня не хватает знаний Java

Мне нужно чтобы пользователь через Scanner вводил число ячеек String-массива, а затем вводил Scanner-ом String-значения ячеек (начиная с 0-ой ячейки) и они все записывались в этот String-массив.

Помогите пожалуйста
 
 
Сообщения:96
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        String[] array = new String[scanner.nextInt()];
        for (int i = 0; i < array.length; i++) {
            array[i] = scanner.next();
        }

        // Выведем в консоль, что ввёл пользователь
        System.out.println(Arrays.toString(array));
    }
 
 
Сообщения:9
axwer:
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        String[] array = new String[scanner.nextInt()];
        for (int i = 0; i < array.length; i++) {
            array[i] = scanner.next();
        }

        // Выведем в консоль, что ввёл пользователь
        System.out.println(Arrays.toString(array));
    }



Спасибо большое
 
 
Сообщения:204
Quote:
А как сделать так, чтобы массив был строчный и данные строчные? (String)

А у вас сейчас какой массив?
 
 
Сообщения:9
FarSeer:
Quote:
А как сделать так, чтобы массив был строчный и данные строчные? (String)

А у вас сейчас какой массив?


Спасибо, я уже разобрался
 
 
Сообщения:9
А хотя у меня есть вопрос, почему-то не получается


public static void main(String[] args) {


        Scanner scanner1 = new Scanner(System.in);
        int arraylenght = scanner1.nextInt(); // задаю число ячеек, ну вы поняли
        for (int i = 0; i < arraylenght; i++) {
            Scanner scanner2 = new Scanner(System.in);
            String name = new String(scanner2.nextLine());
            String array[] = new String[0];
            array[i] = name;
        }
        System.out.println(Arrays.toString(array)); // тут ошибка cannot resolve symbol 'array'
    }
}



 
 
Сообщения:9
Такс, вот к чему я пришел

    public static void main(String[] args) {


        Scanner scanner1 = new Scanner(System.in);
        int arraylenght = scanner1.nextInt();

        String array[] = new String[0];

        for (int i = 0; i < arraylenght; i++) {


            Scanner scanner2 = new Scanner(System.in);
            String name = new String(scanner2.nextLine());

            array[i] = name;

        }
        System.out.println(Arrays.toString(array)); - теперь работает, но выдает ошибку при компиляции ArrayIndexOutOfBoundsException


    }
}



Выдает ошибку ArrayIndexOutOfBoundsException - я уже понял что i = 0, а должно быть null, и у меня опять вопросы - ПОМОГИТЕ ПОЖАЛУЙСТА
 
 
Сообщения:96
String array[] = new String[0];

При инициализации массива надо вместо 0 передать arraylength
 
 
Сообщения:9
Да я все напутал там, я уже понял, сейчас переделываю
 
 
Сообщения:9
Всем спасибо за помощь!
Пришел к такому варианту :

    public static void main(String[] args) {

        Scanner scanner1 = new Scanner(System.in);
        int arraylenght = scanner1.nextInt();

        String array[] = new String[arraylenght];

        for (int i = 0; i < arraylenght; i++) {

            Scanner scanner2 = new Scanner(System.in);
            String name = new String(scanner2.nextLine());

            array[i] = name;

        }
        System.out.println(Arrays.toString(array));


    }
}





 
 
Сообщения:204
Зачем 2-й сканер? Зачем он инициализируется в цикле? УжОс!
 
 
Сообщения:9
FarSeer:
Зачем 2-й сканер? Зачем он инициализируется в цикле? УжОс!


Уж такого я уровня кодер
 
 
Сообщения:204
Так исправь. Выше же пример с одним сканером.
 
Модераторы:frymock
Сейчас эту тему просматривают:Нет