java编程问题//望网友能够解释一下问题在那里!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/24 18:52:08
文件名为:money.java
interface money//生命接口
{
public void xx();
public void yy();
public void zz();
}

文件名为:car.java
public class car implements money
{
int x=50;
int y;
public void xx()//在实现方法里定义不同标准的收费
{
y=x*10;
System.out.println("你应付费"+y);
}
public void yy()
{
y=x*6;
System.out.println("你应付费"+y);
}
public void zz()
{
y=x*4;
System.out.println("你应付费"+y);
}
public void main(String[]args)
{
car w=new car();
if((x>0)&&(x<50))//0<x<50公里调用xx();
{
w.xx();
}
else if((x>=50)&&(x<=200))/*50<=x<=200公里调用yyfa方法*/
{
w.yy();
}
else //其他调用zz方法
{
w.zz();
}
}
}

可以进行编译但是一运行就退出了!!!估计是有异常!!但是又不知怎么完善它请网友看看:实现的功能是在汽车行使的不同距离采取不同的收费,写的有些

问题在于int x=50;定义在main外,是car类的私有变量,在main里没有定义x;
应该

interface money//生命接口
{
public void xx();
public void yy();
public void zz();
}

public class car implements money
{
int x=50;
int y;
public void xx()//在实现方法里定义不同标准的收费
{
y=x*10;
System.out.println("你应付费"+y);
}
public void yy()
{
y=x*6;
System.out.println("你应付费"+y);
}
public void zz()
{
y=x*4;
System.out.println("你应付费"+y);
}
public static void main(String[]args)
{
car w=new car();
if((w.x>0)&&(w.x<50))//0<x<50公里调用xx();
{
w.xx();
}
else if((w.x>=50)&&(w.x<=200))/*50<=x<=200公里调用yyfa方法*/
{
w.yy();
}
else //其他调用zz方法
{
w.zz();
}
}
}

改正后的效果一样?????有什么提示啊??????

我编译后看到结果为 你应付费300
没有问题啊