当前位置: 代码迷 >> Java相关 >> 简单程序问题
  详细解决方案

简单程序问题

热度:295   发布时间:2007-05-09 00:03:09.0
简单程序问题
我的源程序:
import java.util.*;
class CPoint
{
double x;
double y;


public void Inputxy()
{ Scanner in =new Scanner(System.in);
System.out.println("Please input X=,Y=");
float x =in.nextFloat();
float y =in.nextFloat();
}
}


public class TestPoint1{
public static void main(String[] args){
CPoint p=new CPoint();
p.Inputxy();
System.out.print("q point's abscissa="+p.x);
System.out.println(" ordinate="+p.y);
}
}
请问一下高手,我这个程序能运行,不过为什么我输入了X,Y的值之后,得出的结果X,Y还是为0的。
另外,如果我把红色字删掉再编译为什么会出现找不到X,Y的,我不是在 public void Inputxy()这是
里有对X,Y进行了定义了吗,请高手尽量详细说一下,谢谢!!!!
----------------解决方案--------------------------------------------------------
p.Inputxy();
System.out.print("q point's abscissa="+p.x);
System.out.println(" ordinate="+p.y);这里打印出来的是dobule x,y的值。
你要实现效果就吧float去掉就可以了。。

----------------解决方案--------------------------------------------------------
又是 一个内型的重复定义的问题


你的double x,y已经定义成了成员变量

可以在方法Inputxy()里面你又重新定义了float版的x,y,这样就把外面的成员变量屏蔽掉了,为了出现效果,你得把 方法里面的float去掉,直接把值赋给成员变量x,y

----------------解决方案--------------------------------------------------------
好啊,谢谢你们
----------------解决方案--------------------------------------------------------
  相关解决方案