public class kk{
public static void main(String args[]){
double a,fee;
System.out.println("本月用电的度数是: "+args[0]+"du");
a=Double.parseDouble(args[0]);
if(a>0){
if(a<240){
fee=a*0.15;
output(fee);
}
    if(a>240&&a<=540){
fee=(a-240)*0.25+240*0.15;
output(fee);

}

    if(a>540){
fee=((a-540)*0.45+300*0.25+240*0.15);
output(fee);
}
}  

else if(a<0){
System.out.println("请输入正确的度数!");

}
}
static void  output(double result){
System.out.println("您需要交纳的电费是: "+result+"yuan");
}
}这是源代码。输出地结果会是如图所示。那里错误?怎么改正?求教

解决方案 »

  1.   

    图看不见 
    运行时 后面加上度数
    java kk 35
      

  2.   

    估计是没有传参数了.
    java kk 后边就是参数,多个参数用空格分开
      

  3.   


    E:\Demo\Test>java kk
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
            at kk.main(kk.java:4)如果你寻找的问题是上面的问题的话。就在 java 类名 参数(参数之间空格!)
      

  4.   

    我不会传图片-。-!不过我用的是jcreator。编译运行后出现的是:exception in thread“ main "java.lang.ArrayIndexOutOfBoundsException: 0 at kk.main(kj.java:5)
    press any key to continue...
    8L的怎么运行的?我怎么一运行就这样呢?(编译通过了,运行出错了)。如果代码错误应该怎么修改? 
      

  5.   

    1。在jcreator里直接运行程序是没有参数的.
    2。你的程序需要一个参数 args[0] -应该是本月用了多少度电吧jcreator没有用过,但是跟所有的IDE一像, jcreator应该有配怎么Run一个程序的地方。可以指定在编译之后,Run的时候传的参数在Eclipse里是在
    Menu > Run > RunConfiguration > Arguments Tab
      

  6.   

    exception in thread“ main "java.lang.ArrayIndexOutOfBoundsException: 0 at kk.main(kj.java:5)
    kj.java:5 是说明你的数组越界在你的java代码的第5行,这样你可以更好的定位你的问题main函数的参数args[]是运行时的参数jcreator也不知道怎么传参数。命令行里面运行就像1楼方式传参
      

  7.   

    你在运行这个程序的时候你用cmd.exe 并且在运行的时候你输入(java kk 本月的电费数)按回车就是啦!
    之所以出现Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
            at kk.main(kk.java:4)
    这个错误可能你是用的是集成的开发环境不能输入参数值,所以args[]是空的;
      

  8.   

    java kk 123a=Double.parseDouble(args[0]);
      

  9.   


    args[]是给主函数传的参数,你用IDE,可能是没有传参数,当然编译不会有问题,但是运行时,由于没有参数,所以你用args[]的时候当然是越界建议你用命令行来实现,带上参数,简单一点
      

  10.   

    D:\>javac kk.java
    D:\>java kk 20
    本月用电的度数是:20du
    您需要交纳的电费是: 3.0yuanD:\>java kk 250
    本月用电的度数是:250
    您需要交纳的电费是:38.5yuan这是我帮你运行的结果,自己看看吧!
      

  11.   

    main(String args[]) 中的args[]出现了问题,你可能赋值值,你可以断点调试一下看args[0]是什么值!
      

  12.   

    运行时没有带上参数吧。args[0]。
      

  13.   

    运行没有问题 不过要给args[0]赋值 不知道lz有没有赋值public class Kk{
    public static void main(String args[]){
    double a,fee;
    System.out.println("本月用电的度数是: "+args[0]+"du");
    a=Double.parseDouble(args[0]);
    if(a>0){
    if(a<240){
    fee=a*0.15;
    output(fee);
    }
    if(a>240&&a<=540){
    fee=(a-240)*0.25+240*0.15;
    output(fee);
    }

    if(a>540){
    fee=((a-540)*0.45+300*0.25+240*0.15);
    output(fee);
    }
    }else if(a<0){
    System.out.println("请输入正确的度数!");
    }
    }
    static void output(double result){
    System.out.println("您需要交纳的电费是: "+result+"yuan");
    }
    }
      

  14.   

    myeclipse 在run里有设置参数 你那个 应该是参数没有穿 args[0]不存在