接受int输入并解析为char

时间:2018-11-10 19:52:19

标签: java string char int

所以我的主线在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 :(得分:0)

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

快乐编码

答案 1 :(得分:0)

您可以只使用数字1-4的char表示形式:

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;
} 

答案 2 :(得分:0)

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