0

我是java的入门者,所以如果有人以简单的方式回答我的问题,我会很高兴。我试图通过使用最大导入来计算最大值:s 但它给了我错误:(

这是脚本:

package Calc;

import java.lang.Math.*;

public class Calculator {

    public static void main(String[] args)
    {
        int n1,n2;
        String s="10 , 20";
        //converting strings to integers
        String s1=s.substring(3,s.length());
        String [] s2=s1.split(",");
        n1=Integer.parseInt(s2[0]);
        n2=Integer.parseInt(s2[1]);

        //max
        int maxstock = Math.max(n1 , n2);
        System.out.println(maxstock);

    }
}

这是intellij想法给出的错误:

线程“主”java.lang.NumberFormatException 中的异常:对于输入字符串:“”在 java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) 在 java.lang.Integer.parseInt(Integer.java:468) 在 java .lang.Integer.parseInt(Integer.java:497) 在 Calc.Calculator.main(Calculator.java:16) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java :39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 com.intellij.rt.execution.application.AppMain.main( AppMain.java:120)

进程以退出代码 1 结束

(我将字符串转换为整数而不是直接使用它,因为这是一项课堂工作,它必须是这样的)

4

1 回答 1

0
String s1=s.substring(3,s.length());

s1这给了你", 20"

String [] s2=s1.split(",");

s1在逗号处拆分,你得到s2[0] = ""and s2[1] = " 20"

n1=Integer.parseInt(s2[0]);

原因

线程“main”中的异常 java.lang.NumberFormatException:对于输入字符串:“”

因为空字符串不能被解析为int.

你是否打算

String [] s2=s.split(",");

拆分整个字符串"10 , 20"

但是你仍然会得到一个NumberFormatException, 因为Integer.parseInt它不接受它试图解析的字符串中的任何空格。

于 2013-07-13T19:51:33.507 回答