/*
时间:2011年11月15日9:45:52;
目的:定义一个Point类,来表示三维坐标中的点,要求如下:
1.可以生成具有特定坐标的点的对象;
2.可以提供设定坐标的点的方法;
3.可以提供计算该点到坐标原点的距离的方法。
*/
public class Point{
privateint x;
privateint y;
privateint z;
Point(int_x,int _y,int _z){
x= _x;
y= _y;
z= _z;
}
publicvoid setX(int xPoint){
x= xPoint;
}
publicvoid setY(int yPoint){
y= yPoint;
}
publicvoid setZ(int zPoint){
z= zPoint;
}
publiclong getDistance(Point p){
return(x - p.x)*(x - p.x) + (y - p.y)*(y - p.y) + (z - p.z)*(z - p.z);
}
publicstatic void display(Point p){ //显示坐标信息;
System.out.println("("+p.x+","+p.y+","+p.z+")");
}
publicstatic void main(String[] args){
Pointa = new Point(1,1,1);
display(a);
Pointp = new Point(0,0,0);
System.out.println(a.getDistance(p));
a.setX(6);
a.setY(8);
a.setZ(10);
display(a);
System.out.println(a.getDistance(newPoint(0,0,0)));
}
}
/*
运行结果:
--------------------------
(1,1,1)
3
(6,8,10)
200
--------------------------
总结:
这个程序,一开始只能定义出构造方法,和set()方法,其他的比如计算平方和与显示坐标都不会写。计算平方和的方法是看视频学会的,但是显示坐标的方法
视频中没有,而且我写的也有问题。我开始时照着自己的思路写的,但是编译的时候提示我要采用static,我就照着用了,结果成功了。如果不用static
我还没想出来。
*/
/*
时间:2011年11月15日10:23:11;
目的:方法的重载
*/
public class Overload{
voidmax(int a,int b){
System.out.println(a>b?a:b);
}
voidmax(float a,float b){
System.out.println(a>b?a:b);
}
voidmax(short a,short b){
System.out.println(a>b?a:b);
}
publicstatic void main(String[] args){
Overloada = new Overload();
a.max(1.0f,2.3f);
}
}
/*
结果:
-------------------
2.3
-------------------
总结:
刚开始写的时候,我定义了两个类,即把max()方法写在一个Test类中,把main()方法写在Overload类中,但是编译的时候老是通不过。编译器总是要我把
Test声明成public,但是我明明是这么做的。后来看老师的视频,从头到位只有一个类,我修改了一下,成功了。
还有一个问题,我刚开始的时侯在max()中写的是max(1.0,2,3),编译出错了。float类型的数据后面一定要加f标识。
*/
/*
时间:2011年11月15日11:00:14;
目的:构造方法的重载
*/
public class TestOverload{
publicstatic void main(String[] args){
Persona = new Person();
a.info();
Personb = new Person(4);
b.info();
Personc =new Person(3,14);
c.info("c");
}
}
class Person{
Person(){
id= 1;
age= 20;
}
Person(int_id){
id= _id;
age= 23;
}
Person(int_id,int _age){
id= _id;
age= _age;
}
voidinfo(){
System.out.println(id+""+age);
}
voidinfo(String s){
System.out.println(s+""+id+" "+age);
}
intid;
intage;
}
/*
运行结果:
------------------------
120
423
c3 14
------------------------
总结;
这个程序编的很顺利,没出问题。现在在想一个问题:在一个程序中出现两个类,是不是要把含有main()方法的类放在最前面呢?
*/