Принимая int вход и парсинг в char - PullRequest
0 голосов
/ 10 ноября 2018

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

public static void main(String[] args) throws InterruptedException {


    do {
        try {
            System.out.println("Enter your birthYear");
            birthYear = Integer.parseInt(input.next());
            int length = String.valueOf(birthYear).length();
            System.out.println(length);
            if (length != 4) {
                lengthTest = false;
                System.out.println("Invalid Choice");
            } else {
                lengthTest = true;

            }
            test = true;

        } catch (Exception e) {

            System.out.println("Invalid Choice");
        }

    } while (test == true ^ lengthTest != false);
    do {
        System.out.println("Please enter a number between 1-4 \n"
                + "1 = AreaOfTriangle \n" + 
                "----------------------------------\n" + 
                "2 = HoursToDaysAndHours Calculator \n" + 
                "---------------------------------- \n" + 
                "3 = CelciusToFahrenheit Calculator \n" + 
                "----------------------------------\n" + 
                "4 = BirthdayGame \r\n" + 
                "----------------------------------");



        try {
            choice = Integer.toString(input.nextInt()).charAt(0);
            System.out.println(choice);
        switch (choice) {
        case 1:
            aOT.areaOfTriangle();
            break;
        case 2:
            hTDAH.hoursToDaysAndHours();
            break;
        case 3:
            cTF.celciusToFahrenheit();
        case 4:
            System.out.println("Code not implemented");
            break;
        case 'e':
            repeat = false;
            break;
            default:
                System.out.println("");
                break;
        } 
        }catch (Exception e) {
            System.out.println("Invalid Awnser");
        }

    } while (repeat == true);

}

Моя проблема в переключателе, я хочу иметь возможность использовать int и Char одновременно. Например, я хочу использовать e для выхода и и 4 цифры

Ответы [ 3 ]

0 голосов
/ 10 ноября 2018

Вы можете просто использовать char представление цифр 1-4:

char choice = input.next().charAt(0);
switch (choice) {
case '1':
    aOT.areaOfTriangle();
    break;
case '2':
    hTDAH.hoursToDaysAndHours();
    break;
case '3':
    cTF.celciusToFahrenheit();
case '4':
    System.out.println("Code not implemented");
    break;
case 'e':
    repeat = false;
    break;
default:
    System.out.println("");
    break;
} 
0 голосов
/ 11 ноября 2018

Вы можете попробовать использовать String в качестве входного параметра, тогда любое значение типа int или char будут правильно прочитаны без необходимости их преобразования:

      try {
           String choice = input.next();
           System.out.println(choice);
           switch (choice) {
           case "1":
               aOT.areaOfTriangle();
               break;
           case "2":
               hTDAH.hoursToDaysAndHours();
               break;
           case "3":
               cTF.celciusToFahrenheit();
           case "4":
               System.out.println("Code not implemented");
               break;
           case "e":
               repeat = false;
               break;
               default:
                   System.out.println("");
                   break;
        } 
0 голосов
/ 10 ноября 2018

Вы не можете использовать int и chars одновременно, так как вы можете использовать только одну переменную, и переменная должна иметь тип, но: Если вы приводите char или Character к int, вы получаете значения. Например ((int) 'e') оценивается в 101, если я не ошибаюсь. (Попробуйте System.out.println ((int) 'e')); Таким образом, в вашем случае вы можете переключать значения int и определять для 1,2,3,4 и 101. По умолчанию вы также должны выдать исключение, и вы в порядке.

Счастливое кодирование

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