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

package b;
public class Computer { //创建computer类
public int jiecheng(int n){ //定义一个方法为jiecheng
int j=1;
for(int i=1;i<=n;i++){ //通过for循环求阶乘
j*=i;}
return j; // 返回求出的阶乘
}
}
package a;
import java.util.*;
import b.*; //引入b包
public class Sqx {
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
System.out.println("请输入数为:");
int n=reader.nextInt(); //输入该数
Computer computer=new Computer(); //定义新的对象
System.out.println("阶乘为:"+computer.jiecheng(n)); //调用方法求出阶乘值并输出
}
}
运行结果

题目二:设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:
1.两个私有成员变量x和y表示坐标值;
2.成员变量x和y的访问器和修改器;
3.无参构造方法创建点(0,0);
4.一个有参构造方法,根据参数指定坐标创建一个点;
5.distance方法(static修饰)返回参数为MyPoint类型的两个对象之间的距离。
编写主类Test,在主类中输入两点坐标,创建两个对象,利用diatance()方法计算这两个点之间的距离。
源程序:

package a;
public class MyPoint { // 定义两个变量x,y的坐标值
double x;
double y;
public double getX() { //成员变量x的访问器和修改器
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() { //成员变量y的访问器和修改器
return y;
}
public void setY(double y) {
this.y = y;
}
MyPoint() { //无参构造方法创建点
x = 0;
y = 0;
}
MyPoint(double x, double y) { //有参构造方法直接创建点
this.x = x;
this.y = y;
}
static double distance(MyPoint P1, MyPoint P2) { //创建方法distance
double x1 = P1.getX();
double x2 = P2.getX();
double y1 = P1.getY();
double y2 = P2.getY();
return (Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)));
} //返回两点之间的距离
}
package a;
import java.util.*;
public class Text { //主类Test
public static void main(String[] args) { //主方法
double x1,x2,y1,y2; //定义变量
Scanner reader=new Scanner(System.in);
System.out.println("第一点坐标是:"); //提示输入第一个点的坐标
x1=reader.nextDouble(); //输入x1和y1的值
y1=reader.nextDouble();
System.out.println("第二点坐标是:"); //提示输入第二个点的坐标
x2=reader.nextDouble();
y2=reader.nextDouble(); //输入x2和y2的值
MyPoint p1=new MyPoint(x1,y1); //创建对象p1和p2
MyPoint p2=new MyPoint(x2,y2);
System.out.println("两点坐标的距离是:" +MyPoint.distance(p1,p2));
} //使用方法算出两点之家的距离并输出
}
运行结果

Computer类 jiecheng(定义一个求阶乘的方法)
定义j变量通过for求这个数的阶乘
两个类
输入该数
sqx类
创建一个对象compter
通过调用方法输出这个数的阶乘
浙公网安备 33010602011771号