Как сделать строку ввода или целое число на java - PullRequest
0 голосов
/ 23 апреля 2020

мой учитель делает программу ввода на java, чтобы пользователь мог вводить только номер, и я хочу попробовать изменить ввод в виде строки или их обоих.

private static int[] queue = new int[5];
private static int counters = 0;

private static boolean queueStorage() {
    if (counters < queue.length) {
        return true;
    } else {
        return false;
    }
}
private static void createQueue() {
    int loopX = 0;
    int alpha = 0;
    while (loopX == 0) {
        System.out.print("Masukkan Data (angka): ");
        Scanner alphaX = new Scanner(System.in);
        try {
            alpha = alphaX.nextInt();
            loopX = 1;
        } catch (InputMismatchException e) {
            System.out.println("Masukan harus berupa Angka!");
            loopX = 0;
        }
    }
    queue[counters] = alpha;
    counters++;
}

Ответы [ 2 ]

0 голосов
/ 25 апреля 2020
private static String[] queue = new String[5];
private static int counters = 0;

private static boolean queueStorage() {
if(counters < queue.length) {
    return true;
}
else {
    return false;
}

}

личное состояние c void createQueue () {

int loopX = 0;
String alpha = "";
while(loopX == 0) {
System.out.print("input Data (string):");
Scanner alphaX = new Scanner(System.in);
alpha = alphaX.next();
loopX = 1;
}
queue[counters] = alpha;
counters++;
}
0 голосов
/ 23 апреля 2020

Выборка одного сингла String (из Scanner)

Scanner scanner = new Scanner(System.in);
String input = scanner.next();

Выборка 10 String с в л oop (из Scanner)

// Create array with capacity 10
String[] queue = new String[10];

Scanner input = new Scanner(System.in);

for (int position = 0; position < queue.length; position++) {
    queue[position] = input.next();
}

Извлечение 10 int с в l oop (из Scanner)

Если невозможно преобразовать полученные String в int, position уменьшается, поэтому вы не теряете попытка. Таблица, наконец, содержит 10 чисел. Даже если за это время были предоставлены неверные значения (считанные с Scanner) и пользователь ввел, например, 14 раз.

int[] queue = new int[10];
Scanner scanner = new Scanner(System.in);

for (int position = 0; position < queue.length; position++) {
    String input = scanner.next();
    try {
        int number = Integer.parseInt("input");
        queue[position] = number;
    } catch (NumberFormatException e) {
        e.printStackTrace();
        position--;
    }
}

Преобразовать строку в int или Integer

Для разбора String в int вы можете использовать:

int number = Integer.parseInt("123");

или Integer:

Integer number = Integer.valueOf("123");

В случае каких-либо проблем (например, числовое значение 12-34) это брось NumberFormatException

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