Member 13548080 Ответов: 1

Если первый вход-символ, то выведите регистр, если вход-число, то выбросьте исключение.


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

Что я уже пробовал:

import java.util.Scanner;
import java.util.InputMismatchException;
public class Practice {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        try {
            System.out.print("Enter input: ");
      		String input=s.next();
            System.out.println("You entered "+s );
        } catch (InputMismatchException e) {
            System.out.println("You have entered invalid data");
        }
    }
}

1 Ответов

Рейтинг:
9

Afzaal Ahmad Zeeshan

Вы пишете обычный код, однако для этого вам нужно условие,

// Integer.valueOf() is also going to throw exception. 
try {
   // your code
   if(!Integer.valueOf(input)) {
       throw new Exception("Number is not allowed.");
   } else {
       // Always true, because input[0] is always a character
   }
} catch (Exception e) {
   // What to do here?
}

Однако если вы имели в виду буквенно-цифровой код, то тестировать его нужно только с помощью алфавита (алфавиты-это не единственные символы, цифры тоже).
if(Character.isLetter(input[0])) {
   // Now this is a condition to check if that is a alphabet or not.
}

Есть ли в java int.tryparse, который не создает исключение для плохих данных? - переполнение стека[^]


Member 13548080

не могли бы вы дать мне полный код