Java第6次作业

一、作业

题目1:编写一个类Computer,类中含有一个求n的阶乘的方法。将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决定),并将结果输出。

题目2:

       设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:

  • 两个私有成员变量x和y表示坐标值;
  • 成员变量x和y的访问器和修改器
  • 无参构造方法创建点(0,0);
  • 一个有参构造方法,根据参数指定坐标创建一个点;
  • distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。

        编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。

二、代码加注释

题目1:

package HomeWork2;

public class Computer {
public static void main(String[] args){
}
public static int fac(int a){
int fac1=1;
if(a>1){
for(int i=2;i<=a;i++){
fac1=fac1*i;
}
}
return fac1;
}
}

package HomeWork2;

public class Computer {
public static void main(String[] args){//为什么要把主函数单独列出来,把求阶乘列到主函数里不好吗?
}
public static int fac(int a){//public和static的使用方法????
int fac1=1;
if(a>1){ //如果a<0那么阶乘结果也会是1,这是个BUG
for(int i=2;i<=a;i++){
fac1=fac1*i;
}
}
return fac1;//什么时候返回?什么时候用return?return怎么使用
}
}

题目二:

package HomeWork2;

public class MyPoint1{
private int x,y;
MyPoint1(){ //构造方法名称必须要和类名一样(此为 无 返回值类型的构造方法)
x=0;
y=0;
}
public MyPoint1(int x,int y){ //构造方法名称必须要和类名一样(此为 有 返回值类型的构造方法)
this.x=x;
this.y=y;
}
int getX(){
return x;
}
int getY(){
return y;
}
void setX(int x){
this.x=x;
}
void setY(int y) {
this.y=y;
}
public static double distance1(MyPoint1 xy1,MyPoint1 xy2){
double distance=Math.sqrt(Math.pow((xy1.getX()-xy2.getX()),2)+Math.pow((xy1.getY()-xy2.getY()),2));
return distance;
}
}

package HomeWork;
import HomeWork2.MyPoint1;
public class MyPoint {
public static void main(String[] args) {
MyPoint1 xy1=new MyPoint1(2,3);
MyPoint1 xy2=new MyPoint1(4,5);
double distance=MyPoint1.distance1(xy1,xy2);
System.out.println("两点间的距离是"+distance);
}

}

三、运行截图

题目一:

题目二:

猜你喜欢

转载自www.cnblogs.com/anemone0919/p/11544596.html