Java中类的参数传递问题。另外,我现在用的编译器是netBeans.这里软件里单步调试在哪里?求大神解答
packageLei;publicclassLength{doublevalue=0;Stringscale="none";Length(double_value,Str...
package Lei;
public class Length {
double value=0;
String scale="none";
Length(double _value,String _scale)//构造方法
{
value=_value;scale=_scale;
}
Length convertToFeet()
{
if(scale.equals("feet"))
return this;
else
return new Length(value*3.2809,"feet");
}
Length convertToMeter()
{
if(scale.equals("meter"))
return this;
else
return new Length(value/3.2809,"meter");
}
void showLength()
{
System.out.print(value+" "+scale);
}
public static void main(String args[])
{
Length L=new Length(1,"meter");
L.convertToFeet();
L.showLength();
System.out.println();
// L.convertToMeter();
// L.showLength();
}
}
我不明白为什么输出之后还是1 meter. 展开
public class Length {
double value=0;
String scale="none";
Length(double _value,String _scale)//构造方法
{
value=_value;scale=_scale;
}
Length convertToFeet()
{
if(scale.equals("feet"))
return this;
else
return new Length(value*3.2809,"feet");
}
Length convertToMeter()
{
if(scale.equals("meter"))
return this;
else
return new Length(value/3.2809,"meter");
}
void showLength()
{
System.out.print(value+" "+scale);
}
public static void main(String args[])
{
Length L=new Length(1,"meter");
L.convertToFeet();
L.showLength();
System.out.println();
// L.convertToMeter();
// L.showLength();
}
}
我不明白为什么输出之后还是1 meter. 展开
1个回答
展开全部
当然了,首先你new了一个l的对象在掉用这两个方法过程中你并没有改变这l的两个属性,而是又新建了一个对象然后返回
void convertToMeter()
{
if(scale.equals("meter"))
else
this.value= this.value/3.2809;
this.scale="meter";
}
这样试试
void convertToMeter()
{
if(scale.equals("meter"))
else
this.value= this.value/3.2809;
this.scale="meter";
}
这样试试
更多追问追答
追问
嗯,我就试。我还想问下NetBeans的单步调试在哪里,你知道吗?
追答
没用过,我们都用Eclipse的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询