接受 int 输入并解析成 char

所以我的主要内容在 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 个数字


白衣染霜花
浏览 127回答 3
3回答

慕神8447489

您可以尝试使用 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;        } 

四季花海

您不能同时使用 int 和 chars,因为您只能使用一个变量,并且变量必须具有类型,但是:如果您将 char 或 Character 转换为 int,您将获得值。例如 ((int) 'e') 如果我没记错的话,计算结果为 101。(试试 System.out.println((int) 'e')); 所以在你的情况下,你可以切换 int 值并检测 1、2、3、4 和 101。你的默认值也应该抛出一个异常,你很好。

蝴蝶刀刀

您可以只使用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;} 
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java