
关于eclipse的使用问题
publicclassBMICalculator{publicstaticvoidmain(Stringargs[]){intweight=Integer.parseIn...
public class BMICalculator{
public static void main (String args[]){
int weight = Integer.parseInt(args[0]);
int hight = Integer.parseInt(args[1]);
double BMI = weight/(hight*hight/10000.0);
if (BMI<18.5){
System.out.println("Your weight:"+weight+"kg");
System.out.println("Your height:"+hight+"cm");
System.out.printf("Your BMI: %.2f\n",BMI);
System.out.println("You are in the underweight range.");
} else if (BMI>=18.5&&BMI<25){
System.out.println("Your weight:"+weight+"kg");
System.out.println("Your height:"+hight+"cm");
System.out.printf("Your BMI: %.2f\n",BMI);
System.out.println("You are in the normal range.");
} else if (BMI>=25&&BMI<30){
System.out.println("Your weight:"+weight+"kg");
System.out.println("Your height:"+hight+"cm");
System.out.printf("Your BMI: %.2f\n",BMI);
System.out.println("You are in the overweight range.");
} else if (BMI>=30){
System.out.println("Your weight:"+weight+"kg");
System.out.println("Your height:"+hight+"cm");
System.out.printf("Your BMI: %.2f\n",BMI);
System.out.println("You are in the obese range.");
}
}
}
这段程序在eclipse里运行的结果是Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at BMICalculator.main(BMICalculator.java:4)
为什么没有提示让我输入体重和身高啊? 展开
public static void main (String args[]){
int weight = Integer.parseInt(args[0]);
int hight = Integer.parseInt(args[1]);
double BMI = weight/(hight*hight/10000.0);
if (BMI<18.5){
System.out.println("Your weight:"+weight+"kg");
System.out.println("Your height:"+hight+"cm");
System.out.printf("Your BMI: %.2f\n",BMI);
System.out.println("You are in the underweight range.");
} else if (BMI>=18.5&&BMI<25){
System.out.println("Your weight:"+weight+"kg");
System.out.println("Your height:"+hight+"cm");
System.out.printf("Your BMI: %.2f\n",BMI);
System.out.println("You are in the normal range.");
} else if (BMI>=25&&BMI<30){
System.out.println("Your weight:"+weight+"kg");
System.out.println("Your height:"+hight+"cm");
System.out.printf("Your BMI: %.2f\n",BMI);
System.out.println("You are in the overweight range.");
} else if (BMI>=30){
System.out.println("Your weight:"+weight+"kg");
System.out.println("Your height:"+hight+"cm");
System.out.printf("Your BMI: %.2f\n",BMI);
System.out.println("You are in the obese range.");
}
}
}
这段程序在eclipse里运行的结果是Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at BMICalculator.main(BMICalculator.java:4)
为什么没有提示让我输入体重和身高啊? 展开
展开全部
呵呵 不是Eclipse的问题 是你对args[] 没有理解好 我给你搜了一个 例子,你好好看看吧:
java程序中String args[]起什么作用?
在下面这个程序中String args[]起什么作用?
java中为什么要写String args[]呢?
class Example{
public static void main(String args[]){
System.out.println("This is a simple Java program.");
}
}问题补充:
既然String args[]或者String[] args表示给主方法传一个字符串数组,那么System.out.println(args[]);为什么是错误,args[]不就是那个字符串This is a simple Java program吗?
String args[]与This is a simple Java program是什么关系?如果没关系,为什么程序中去掉String args[]会出现错误?
不带String args[]的main函数和带String args[]的main函数有什么区别吗?
答案 String[] args 这个字符串数组是保存运行main函数时输入的参数的,例如main函数所在的类名为test 那么你在cmd运行 java test a b c 时,args[0] = a ,args[1]=b, args[2]=c 你就可以在你的程序中调用你输入的这些变量了。
args[]不就是那个字符串This is a simple Java program吗?
-------完全不是的,你理解不对。这样好了,你在运行的时候加个参数,比如 java test XX。然后在你的main函数里面加这段话:System.out.println("arg is"+args[0]),然后看看输出是什么?
是不是这个:
This is a simple Java program
arg is XX
你还可以试试这样,在运行时输入java test xx yy zz,并且在你的main函数里面加这段话:System.out.println("arg is"+args[0]+" "+args[1]+" "+args[2]),然后看看输出是什么?
是不是:
This is a simple Java program
arg is xx yy zz
现在你理解了吗。。。
如果没关系,为什么程序中去掉String args[]会出现错误?
--------之所以去掉会出错在于,不带String args[]的main函数和带String args[]的main函数,本质上已经不是同一个函数了,java 本身不存在不带String args[]的main函数,所以当然出错了。
java程序中String args[]起什么作用?
在下面这个程序中String args[]起什么作用?
java中为什么要写String args[]呢?
class Example{
public static void main(String args[]){
System.out.println("This is a simple Java program.");
}
}问题补充:
既然String args[]或者String[] args表示给主方法传一个字符串数组,那么System.out.println(args[]);为什么是错误,args[]不就是那个字符串This is a simple Java program吗?
String args[]与This is a simple Java program是什么关系?如果没关系,为什么程序中去掉String args[]会出现错误?
不带String args[]的main函数和带String args[]的main函数有什么区别吗?
答案 String[] args 这个字符串数组是保存运行main函数时输入的参数的,例如main函数所在的类名为test 那么你在cmd运行 java test a b c 时,args[0] = a ,args[1]=b, args[2]=c 你就可以在你的程序中调用你输入的这些变量了。
args[]不就是那个字符串This is a simple Java program吗?
-------完全不是的,你理解不对。这样好了,你在运行的时候加个参数,比如 java test XX。然后在你的main函数里面加这段话:System.out.println("arg is"+args[0]),然后看看输出是什么?
是不是这个:
This is a simple Java program
arg is XX
你还可以试试这样,在运行时输入java test xx yy zz,并且在你的main函数里面加这段话:System.out.println("arg is"+args[0]+" "+args[1]+" "+args[2]),然后看看输出是什么?
是不是:
This is a simple Java program
arg is xx yy zz
现在你理解了吗。。。
如果没关系,为什么程序中去掉String args[]会出现错误?
--------之所以去掉会出错在于,不带String args[]的main函数和带String args[]的main函数,本质上已经不是同一个函数了,java 本身不存在不带String args[]的main函数,所以当然出错了。
展开全部
本人JAVA新手说的不对不要喷我...ars[0]是什么东东,
我学的控制台输入是
Scanner scanner=new Scanner(System.in);
System.out.println("请输入身高:");
Double hitght=scanner.nextDouble();//也可以String hitght=scanner.nextline();然后转化hitght为
Double类型!
System.out.println("请输入体重:");
Double weight=scanner.nextDouble();
我学的控制台输入是
Scanner scanner=new Scanner(System.in);
System.out.println("请输入身高:");
Double hitght=scanner.nextDouble();//也可以String hitght=scanner.nextline();然后转化hitght为
Double类型!
System.out.println("请输入体重:");
Double weight=scanner.nextDouble();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
下标越界异常了,先DEBUG一下把错误改了呗。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询