Получите входную строку от пользователя и сохраните ее в массив строк - PullRequest
0 голосов
/ 21 сентября 2019

Может кто-нибудь, пожалуйста, помогите мне решить эту проблему?Я хочу сохранить ввод от пользователя, который является строкой в ​​массив строк.Ошибка: Java.lang,String connot be converted into string.String

Вот мой код:

Scanner input = new Scanner(System.in);
int nSize;
System.out.println("Enter size of array to store data..:");
nSize = input.nextInt();

String[] names= new String[nSize]; // name array
int[] phone= new int[nSize]; //phone array
for ( int i = 1; i <= nSize;i++)
{
    System.out.println("Enter name..:");
    names[i] = input.next();
    System.out.println("Enter phone number.:");
    phone[i] = input.nextInt();
}

Ответы [ 3 ]

0 голосов
/ 21 сентября 2019
Scanner input = new Scanner(System.in);
        int nSize;
        System.out.println("Enter size of array to store data..:");
        nSize = input.nextInt();
        String[] names = new String[nSize]; // name array
        int[] phone = new int[nSize]; //phone array
        for (int i = 0; i < nSize; i++) {
            System.out.println("Enter name..:");
            names[i] = input.next();
            System.out.println("Enter phone number..:");
            phone[i] = input.nextInt()`enter code here`;
        }
0 голосов
/ 21 сентября 2019

После выполнения вашего кода я не увидел ошибку, которую вы упомянули.Кроме того, желаемый результат немного неоднозначен.Тем не менее, я попытался реализовать то, что я из него интерпретировал, используя BufferedReader вроде,

    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    int nSize;
    System.out.println("Enter size of array to store data..:");
    try {
        nSize = Integer.parseInt(reader.readLine());
        String[] names = new String[nSize]; // name array
        long[] phone = new long[nSize]; // phone array
        for (int i = 0; i < nSize; i++) {
            System.out.println("Enter name..:");
            names[i] = reader.readLine();
            System.out.println("Enter phone number.:");
            phone[i] = Long.parseLong(reader.readLine());

        }
    } catch (NumberFormatException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

Проверьте, помогает ли это.

0 голосов
/ 21 сентября 2019

Я запустил ваш код и не столкнулся с проблемой, которую вы описали в своем вопросе.

Однако я обнаружил проблему с той же строкой, которая, вероятно, решит вашу проблему.(Ошибка несоответствия)

Вы должны использовать names[i] = input.next(); вместо names[i] = input.nextLine(); В противном случае будет возвращена пустая строка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...