Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么这种转换会产生错误?_Java_String_Parsing_Exception_Int - Fatal编程技术网

Java 为什么这种转换会产生错误?

Java 为什么这种转换会产生错误?,java,string,parsing,exception,int,Java,String,Parsing,Exception,Int,我在eclipse中有以下代码: String A = String.valueOf(a); String B = String.valueOf(b); String C = String.valueOf(c); String D = String.valueOf(d); String E = String.valueOf(e); String F = String.valueOf(f);

我在eclipse中有以下代码:

        String A = String.valueOf(a);
        String B = String.valueOf(b);
        String C = String.valueOf(c);
        String D = String.valueOf(d);
        String E = String.valueOf(e);
        String F = String.valueOf(f);
        String G = String.valueOf(g);
        String H = String.valueOf(h);
        String I = String.valueOf(i);
        String J = String.valueOf(j);
        String K = String.valueOf(k);

        String rawpassword = A+B+C+D+E+F+G+H+I+J+K;
        int password = Integer.parseInt(rawpassword);
        System.out.println(password);
它给了我这个错误

at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:495)
    at java.lang.Integer.parseInt(Integer.java:527)
    at com.jakibah.codegenerator.Main.Generate(Main.java:65)
    at com.jakibah.codegenerator.Main.run(Main.java:24)
    at java.lang.Thread.run(Thread.java:745)
但我不明白为什么。 有人能帮我吗?

如果参数不是可解析的
整数,则
parseInt(String s)
方法会抛出
NumberFormatException

确保传递给方法的
String
是一个
Number
并且介于
-2^31
2^31-1
parseInt(String s)
方法在参数不是可解析的
整数时抛出一个
NumberFormatException


确保传递给该方法的
字符串
是一个
数字
,并且介于
-2^31
2^31-1

当您尝试将字符串类型转换为整数但不适合作为整数时,会出现数字格式异常。 从你的代码中,我无法理解a、b、c、d的值是多少,。。 根据我的经验,我上传了两张图片来告诉你可能是你犯了这样的错误

这里出现数字格式异常,因为codestring为10.320,并且是字符串类型,所以当编译器尝试将其转换为字符串时,由于以下原因,无法将其转换为字符串


但在这种情况下,codestring是1020,因此很容易将其转换为整数。

当您尝试将字符串类型转换为整数但不适合作为整数时,会出现数字格式异常。
    String A = String.valueOf(10);
    String B = String.valueOf(10);
    String C = String.valueOf(10);
    String D = String.valueOf(10);
    String E = String.valueOf(10);
    String F = String.valueOf(10);
    String G = String.valueOf(10);
    String H = String.valueOf(10);
    String I = String.valueOf(10);
    String J = String.valueOf(10);
    String K = String.valueOf(10);


    String codestring = A+B+C+D+E+F+G+H+I+J+K;
    BigInteger bigInteger = new BigInteger(codestring);
    System.out.println(bigInteger.max(bigInteger));
从你的代码中,我无法理解a、b、c、d的值是多少,。。 根据我的经验,我上传了两张图片来告诉你可能是你犯了这样的错误

这里出现数字格式异常,因为codestring为10.320,并且是字符串类型,所以当编译器尝试将其转换为字符串时,由于以下原因,无法将其转换为字符串


但是在这个场景中,代码字符串是1020,所以很容易转换成整数。

显示a,b,c…k和rawPassworda=r.nextInt(10);b=r.nextInt(10);c=r.nextInt(10);d=r.nextInt(10);e=r.nextInt(10);f=r.nextInt(10);g=r.nextInt(10);h=r.nextInt(10);i=r.nextInt(10);j=r.nextInt(10);k=r.nextInt(10);rawpassword是codestring抱歉,这是我的类的旧版本。您的
rawpassword
字符串显然不包含有效的数字。请使用循环,您将保存代码行并提高清晰性和可读性显示us a、b、c…k和rawPassworda=r.nextInt(10);b=r.nextInt(10);c=r.nextInt(10);d=r.nextInt(10);e=r.nextInt(10);f=r.nextInt(10);g=r.nextInt(10);h=r.nextInt(10);i=r.nextInt(10);j=r.nextInt(10);k=r.nextInt(10);rawpassword是codestring很抱歉,这是我的类的旧版本。您的
rawpassword
字符串显然不包含有效的数字。请使用循环,您将保存代码行并提高清晰度和可读性
    String A = String.valueOf(10);
    String B = String.valueOf(10);
    String C = String.valueOf(10);
    String D = String.valueOf(10);
    String E = String.valueOf(10);
    String F = String.valueOf(10);
    String G = String.valueOf(10);
    String H = String.valueOf(10);
    String I = String.valueOf(10);
    String J = String.valueOf(10);
    String K = String.valueOf(10);


    String codestring = A+B+C+D+E+F+G+H+I+J+K;
    BigInteger bigInteger = new BigInteger(codestring);
    System.out.println(bigInteger.max(bigInteger));