开发者社区> 问答> 正文

如果我进行特定输入会给我一个错误[关闭]

这是我的代码:

import java.util.Scanner;

class codingActivity1{

    public static void main(String[] args) {
        System.out.println("Enter a number in base 8:");
        Scanner n = new Scanner (System.in);
        boolean flag;
        String zz = n.nextLine();
        int y = zz.length();
       if (y < 0 || y > 7) {
            System.out.println("ERROR: Incorrect Octal Format");
        flag = false;
        }
        else {
            flag = true;
        }


       for (int i = 0; i < y; i++) {
            if (Integer.parseInt("" + zz.charAt(i)) > 8) {
                System.out.println("ERROR: Incorrect Octal Format");
            }   
        }
      int result= Integer.parseInt(zz,8);
       System.out.println(result);
    }
}

我实际上所做的是将以8为底的基数转换为以10为底的基数。

但是,如果我输入“ 1287”,则会出现此错误

Exception in thread "main" java.lang.NumberFormatException: For input string: "1287" under radix 8
    at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)
    at java.base/java.lang.Integer.parseInt(Integer.java:658)
    at codingActivity1.main(codingActivity1.java:25)

我该如何解决?

展开
收起
垚tutu 2019-12-04 17:14:42 636 0
0 条回答
写回答
取消 提交回答
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载