题目一:
编写一个类Computer,类中含有一个求n的阶乘的方法。将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决定),并将结果输出。
1、实现:
Computer.java文件和App.java文件
/**1、Computer.java文件下有:一个包:bao1,创建了一个主类computer类,成员变量jc,定义一个方法getjc.2、构造一个方法,成员变量jc表示阶乘的值,方法getjc是用来运算用户输入数的阶乘值,整型K是用来接传递的参数。3、getjc方法:用k接受传来的参数,然后if判断k的值,如果是0或1直接返回1,其实也是下面“递归”的出口, k*getjc(k-1),利用递归求阶乘值,getjc()通过调用自身,直到找到递归出口*/
package bao1;//包名
public class Computer {//创建主类Computer
double jc=1;//定义double型jc 表示阶乘
public double getjc(int k){//创建主方法
if(k==1||k==0)
return 1;//判断用户输入数是不是1和0,是就直接返回1
jc= k*getjc(k-1);//递归求k的阶乘
return jc;//返回阶乘值
}
}
/**1.引入Coputer包,引入Scnner方法,创建主类App,主方法 int变量j ,创建对象t,输出结果。2.变量j用来接收用户输入的值,用Computer创建t这个对象,用来使用 getjc 这个方法。3.创建对象t 开辟空间,给j输入值,然后把j值传给方法getjc ,getjc 算出阶乘值,然后返回结果给t,最后输出结果。*/package bao2;//第二个包名
import bao1.Computer;//引入bao1的Computer
import java.util.Scanner;
public class App {
public static void main(String[] args) {
// TODO Auto-generated method stub
int n,i,j;
Computer t=new Computer();//创建一个对象t
System.out.println("请输入一个整数:");
Scanner in=new Scanner(System.in);
j=in.nextInt();//用j接收用户输入的值
System.out.println(j+"的阶乘是:"+t.getjc(j));//接收返回值
}
}
2、运行结果:

题目二:
设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:
- 两个私有成员变量x和y表示坐标值;
- 成员变量x和y的访问器和修改器
- 无参构造方法创建点(0,0);
- 一个有参构造方法,根据参数指定坐标创建一个点;
- distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。
编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。
1.实现
① Test.java文件
/**
* 1.主类Test,主方法main,对象z1对象z2,最后输出两点距离
* 2.用MyPoint 分别创建对象z1z2,开辟空间,接收坐标值,输出调用distance方法,并给它传参
* 3.通过创建对象,然后给对象赋值,然后调用distance方法,给它传值,distance方法算出结果并返回
* 结果值,然后输出结果。
* */
package zuobiao;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
MyPoint z1 = new MyPoint();//创建MyPoint的对象z1
MyPoint z2 = new MyPoint();//创建MyPoint的对象z2
Scanner reader = new Scanner(System.in);
System.out.println("请输入两点坐标:");//通过接收用户输入的值获取两点的坐标
z1.setX(reader.nextInt());//获取x1坐标
z1.setY(reader.nextInt());//获取y1坐标
z2.setX(reader.nextInt());//获取x2坐标
z2.setY(reader.nextInt());//获取y2坐标
System.out.println("两点间的距离为:"+MyPoint.distance(z1, z2));
//调用distance()方法,计算出两个坐标点之间的直线距离
}
}
② MyPoint.java文件
/**
* 1.MyPoint.java文件下有主类MyPoint类,MyPoint方法。类方法distance。
* 2.成员变量x.y,访问器getX(),修改器getY().无参方法MyPoint,有参方法MyPoint,
* 局部变量x,y.类方法distance,参数p1,p2。distance方法作用是获取坐标值,然后算出两点坐标之间距离。
* 3.MyPoint方法是创建0,0坐标,然后有参方法是局部变量给成员变量赋值,distance方法,通过对象获取坐标值,
* 然后通过调取数学方法Math.sqrt开方求得两点距离。
* */
package zuobiao;
public class MyPoint {
double x;
double y;
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
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) {
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));
}
}
2、运行结果:
