当前位置:系统粉 > 电脑问答 > 其他问答 > 一个小错误,但我就是没弄明白,求一大大解一下迷惑.

一个小错误,但我就是没弄明白,求一大大解一下迷惑.

提问者:丨东方灬涩狼  |  浏览 次  |  提问时间:2017-02-11  |  回答数量:2

一个小错误,但我就是没弄明白,求一大大解一下迷惑. 这是我用记事本写的一段java代码,在DOS下编译后出现一个错误,可能尚未初始化变量a,b,c.后来我将变量初始化为0后就变译成功了,但是我另一段和这段代码差不多的代码却不需要初始化,这是为什么?需要初始化的代码如下:import java.util.Scanner;public class Sy{public static void main(String[] args){ Scanner input = new Scanner(System.in); double a,b,c; boolean bol = true; System.out.println(\"请用户进行选择 1.长方形 2.三角形\"); int i = input.nextInt(); do{ if(i==1){System.out.println(\"请输入长方形的长:\");a = input.nextDouble();System.out.println(\"请输入长方形的宽:\");b = input.nextDouble();if(a==b){ System.out.println(\"输入错误,程序

已有2条答案
piaoyi5442

piaoyi5442

回答数:213  |  被采纳数:8

2017-02-11 05:33:36
public class Sy{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
double a,b,c;
boolean bol = true;

System.out.println("请用户进行选择 1.长方形 2.三角形");

int i = input.nextInt();

do{
if(i==1){
System.out.println("请输入长方形的长:");
a = input.nextDouble();
System.out.println("请输入长方形的宽:");
b = input.nextDouble();
if(a==b){
System.out.println("输入错误,程序将结束!");
break;
}else{
c = a*b;
System.out.println("长方形的面积是:"+c);
}

}else if(i==2){
System.out.println("请输入三角形的底长:");
input.nextDouble();
System.out.println("请输入三角的高:");
input.nextDouble();
c = a*b/2;
System.out.println("三角形的面积是:"+c);
}else{
System.out.println("输入错误,请重新输入!");
bol = true;
}
System.out.println("继续进行计算 是y 否n");
String str = input.next();
if(str.equals("y")){
bol = true;
}else if(str.equals("n")){
bol = false;
}else{
bol = true;
}
}while(bol);
}
}


你这里没有赋值 给a 和 b
肯定是会报错的
而且下面 紧接着做c = a*b/2; 也是不行的

而你的第二种方法 就赋值了所以可以正常编译运行
赞 21
度娘让我打汉字

度娘让我打汉字

回答数:14  |  被采纳数:39

2017-02-11 06:42:43
明白了,谢谢
赞 1
解决方法
版权信息

Copyright @ 2011 系统粉 版权声明 最新发布内容 网站导航