importjava.util.Scanner;
importjava.lang.Math;
publicclassrrrr
{
publicstaticvoidmain(String[]args)
{
Scannersc=newScanner(System.in);
Pointq=newPoint(0,0,0);
Pointw=newPoint(1,1,1);
Pointe=newPoint();
Pointr=newPoint();
q.setPoint(w);
System.out.println("请按x,y,z的顺序依次输入两个点的坐标,已回车结束。");
e.x=sc.nextInt();
e.y=sc.nextInt();
e.z=sc.nextInt();
r.x=sc.nextInt();
r.y=sc.nextInt();
r.z=sc.nextInt();
q.length(e,r);
}
//staticclassPoint
classPoint
{
privateintx;
privateinty;
privateintz;
publicPoint(){}
publicPoint(inta,intb,intc)
{
x=a;
y=b;
z=c;
}
publicPointsetPoint(Points)//修改点位置
{
s.x=x;
s.y=y;
s.z=z;
returns;
}
publicPointlength(Pointa,Pointb)
{
intX,Y,Z,len;
X=(int)Math.pow(a.x-b.x,2);
Y=(int)Math.pow(a.y-b.y,2);
Z=(int)Math.pow(a.z-b.z,2);
len=(int)Math.sqrt(X+Y+Z);
System.out.println("两点间的距离为:"+len);
returna;
}
}
}
我的程序是这样的。为什么把Point类前加上static就对了啊?怎么理解importjava.util.Scanner;
importjava.lang.Math;
publicclassrrrr
{
publicstaticvoidmain(String[]args)
{
Scannersc=newScanner(System.in);
Pointq=newPoint(0,0,0);
Pointw=newPoint(1,1,1);
Pointe=newPoint();
Pointr=newPoint();
q.setPoint(w);
System.out.println("请按x,y,z的顺序依次输入两个点的坐标,已回车结束。");
e.x=sc.nextInt();
e.y=sc.nextInt();
e.z=sc.nextInt();
r.x=sc.nextInt();
r.y=sc.nextInt();
r.z=sc.nextInt();
q.length(e,r);
}
//staticclassPoint
classPoint
{
privateintx;
privateinty;
privateintz;
publicPoint(){}
publicPoint(inta,intb,intc)
{
x=a;
y=b;
z=c;
}
publicPointsetPoint(Points)//修改点位置
{
s.x=x;
s.y=y;
s.z=z;
returns;
}
publicPointlength(Pointa,Pointb)
{
intX,Y,Z,len;
X=(int)Math.pow(a.x-b.x,2);
Y=(int)Math.pow(a.y-b.y,2);
Z=(int)Math.pow(a.z-b.z,2);
len=(int)Math.sqrt(X+Y+Z);
System.out.println("两点间的距离为:"+len);
returna;
}
}
}
为什么把point类前面加上static就对了啊?无法从静态上下文中引用非静态变量this这个问题怎么理解?
新手求指导
分 -->
|