#java #arrays #loops #input #java.util.scanner
#java #массивы #циклы #ввод #java.util.scanner
Вопрос:
Я написал некоторый код. Идея состоит в том, чтобы спросить пользователя, сколько имен он хочет ввести, получить входные данные и соответствующим образом установить размер массива строк. Мне удалось доработать код, кроме настройки размера массива. Когда я пытаюсь сделать что-то вроде этого:
import java.util.Scanner;
public class StringArray {
public static void main(String[] args) {
Scanner read = new Scanner(System.in);
System.out.println("How many names do you wish to enter?");
int numOfNames = read.nextInt();
String [] names = new String[numOfNames];
Я получаю сообщение об ошибке, в котором строка не может быть преобразована в int.
Я пробовал вещи, которые я нашел в Интернете, например, пытаться преобразовать int в string и т. Д., Но Не сработало.
Мой исходный код здесь:
import java.util.Scanner;
public class ArrayDemoS {
public static void main(String[] args) {
Scanner read = new Scanner(System.in);
System.out.println("How many names do you wish to enter?");
int numOfNames = read.nextInt();
String [] names = new String[6];
System.out.println("Enter the names.");
int items = 0;
do {
names[items] = read.nextLine();
} while ( items <= numOfNames);
System.out.println("You entered the following names");
for ( int i = 0; i <= numOfNames; i ) {
System.out.print(names[i] " ");
}
System.out.println();
}
}
Я установил размер равным 6, предполагая, что пользователь введет 5 имен.
Могут быть другие способы сделать это с помощью ArrayList и т. Д., Но я еще не узнал о них. Я могу выполнить ту же задачу, когда массив сформирован из данных типа int. Я хотел бы иметь возможность делать это и для строкового типа. Заранее спасибо 🙂
Комментарии:
1. предоставьте свой образец ввода и полные сведения об ошибке
2. Ваш полный пример кода не выдает никаких ошибок. Пожалуйста, предоставьте пример кода вместе с полным сообщением об ошибке (включая указанный номер строки).
Ответ №1:
Это работает нормально.
public static void main(String[] args) {
Scanner read = new Scanner(System.in);
System.out.println("How many names do you wish to enter?");
int numOfNames = read.nextInt();
String [] names = new String[numOfNames];
System.out.println("Enter the names.");
int items = 0;
names[items] = read.nextLine();
while ( items < numOfNames)
{
names[items] = read.nextLine();
items ;
}
System.out.println("You entered the following names");
for ( int i = 0; i < numOfNames; i ) {
System.out.print(names[i] " ");
}
System.out.println();
}