Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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 parseBoolean()的使用_Java - Fatal编程技术网

Java parseBoolean()的使用

Java parseBoolean()的使用,java,Java,我正在处理这个小问题,我对.parseBoolean()有一个问题。作为参数,我有(3,真,8,假,5,真)。不知怎的,.parseBoolean不接受字符串“true”,这可能就是我得到以下结果的原因: Exception in thread "main" java.lang.NumberFormatException: For input string: "true" 这里有原始代码。我可能犯了点错 package test; public class CircleExercise {

我正在处理这个小问题,我对.parseBoolean()有一个问题。作为参数,我有(3,真,8,假,5,真)。不知怎的,.parseBoolean不接受字符串“true”,这可能就是我得到以下结果的原因:

Exception in thread "main" java.lang.NumberFormatException: For input string: "true"
这里有原始代码。我可能犯了点错

package test;

public class CircleExercise {

    public static void main(String[] args) {

        for(int i = 1 ; i <= 3 ; i++) {

            Circle kreis = new Circle();

            double radius = Double.parseDouble(args[i-1]);
            boolean filled = Boolean.parseBoolean(args[i-1]);

            System.out.println(i + ". Kreis:\nRadius: " + radius + "\nUmfang: " + kreis.getCircumference(radius) + "\nFlaeche: " + kreis.getArea(radius));
            if (filled == true){
                System.out.println(i + ". Kreis ist gefuellt.");
            }
            else 
                System.out.println(i + ". Kreis ist nicht gefuellt.\n");
        }
    }
}
封装测试;
公共类循环练习{
公共静态void main(字符串[]args){

对于(int i=1;i您可能需要:

package test;

public class CircleExercise {

    public static void main(String[] args) {
        // you must increment the variable in 2 units
        for(int i = 0 ; i < 3 ; i+=2) {

            Circle kreis = new Circle();

            // and select different indexes: i and i+1
            double radius = Double.parseDouble(args[i]);
            boolean filled = Boolean.parseBoolean(args[i+1]); 

            System.out.println(i + ". Kreis:\nRadius: " + radius + "\nUmfang: " + kreis.getCircumference(radius) + "\nFlaeche: " + kreis.getArea(radius));
            if (filled == true){
                System.out.println(i + ". Kreis ist gefuellt.");
            }
            else 
                System.out.println(i + ". Kreis ist nicht gefuellt.\n");
        }
    }
}
封装测试;
公共类循环练习{
公共静态void main(字符串[]args){
//必须以2个单位递增变量
对于(int i=0;i<3;i+=2){
圆圈=新圆圈();
//并选择不同的索引:i和i+1
双半径=double.parseDouble(args[i]);
boolean filled=boolean.parseBoolean(args[i+1]);
System.out.println(i+”.Kreis:\nRadius:“+radius+”\nUmfang:“+Kreis.getpercentral(radius)+”\nFlaeche:“+Kreis.getArea(radius));
if(filled==true){
System.out.println(i+“.Kreis ist gefuelt”);
}
其他的
System.out.println(i+“.Kreis ist nicht gefuelt.\n”);
}
}
}

您可以使用以下方法使成对索引更加突出:

    int i = 0;
    while (i < args.length) {
        double radius = Double.parseDouble(args[i]);
        i++;

        boolean filled = Boolean.parseBoolean(args[i]);
        i++;
    }            
if (args.length % 2 != 0) {
    System.out.println("Incomplete argument pairs");
}

您确定是
parseBoolean
引发异常而不是
parseDouble
?您正在尝试分析相同的参数(
args[i-1]
)作为一个Double和一个Boolean。应该是哪一个?我刚刚看到了。实际上是parseDouble引发了异常。我知道有2个数组,但我仍然得到了相同的异常。Double.parseDouble(“true”)引发了一个异常,因为它不能转换为“Double”类型,但这就是为什么我实际上没有将其输入“true”以下是我给出的论点:(3,对,8,错,5,对)