永发信息网

哪位大哥看下这个JAVA程序哪写错了?

答案:4  悬赏:0  手机版
解决时间 2021-07-24 22:24
  • 提问者网友:欲望失宠
  • 2021-07-24 05:04

刚学JAVA没几天,写了个这求三角形面积的小程序,程序的意思是想反复输入底和高20次然后得出面积,可运行时总提示“可能尚未初始化变量Y”,是哪出了问题?望高人解答 万分感谢!程序如下:

import java.util.Scanner;
class Trival{
double gao;double di;
Trival(double a,double b){gao=a;di=b;}
double getMianji(){return 1.0/2*gao*di;}
}
class C{
public static void main(String args[]){
int j;double x,y;
for (x=1;x<=20;x++){
Scanner m=new Scanner(System.in);
System.out.println("请输入三角形的高");
x=m.nextDouble();
System.out.println("请输入三角形的底");
y=m.nextDouble();
}
Trival t1=new Trival(x,y);
System.out.println("三角形的面积为:"+t1.getMianji());
}
}

最佳答案
  • 五星知识达人网友:话散在刀尖上
  • 2021-07-24 06:34

int j;


double x=0.0;


double y=0.0;
for (j=1;j<=20;j++)


{
Scanner m=new Scanner(System.in);
System.out.println("请输入三角形的高");
x=m.nextDouble();
System.out.println("请输入三角形的底");
y=m.nextDouble();
}

全部回答
  • 1楼网友:野味小生
  • 2021-07-24 09:03

明显Y没有被初始化嘛!

for (x=1;x<=20;x++){ X已经初始化了,但是你看一下你的Y的初始值是多少?根本就没有啊!所以问题就是Y没有被初始化!

  • 2楼网友:山君与见山
  • 2021-07-24 08:05
for (x=1;x<=20;x++)中的x错了吧 应该换成j吧
  • 3楼网友:爱难随人意
  • 2021-07-24 07:25

y 是局部的变量 ,局部的变量 就应该先初始化 再用 成员变量和类变量 可以不初始化 因为成员变量和类变量有默认的初始化值

你可以把x 和 y 都初始化为 double x = 0.0;y=0.0;循环里面用重新的变量来控制循环

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯