一、题目一:
1、需求分析:
编写一个类Computer,类中含有一个求n的阶乘的方法。将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决定),并将结果输出。
2、设计实现:
Computer类:定义了一个公开的Computer类、一个公开的int型的静态方法、两个int型变量
/**
* 将下列所有的类打包为DaBao
*/
package DaBao;
/**
*创建公开的Computer类
*创建公开的int型的静态方法Sun
*定义两个int型变量i、s
*利用for循环计算并返回s值
*/
public class Computer {
public static int Sun(int n) {
int i,s=1;
for(i=1;i<=n;i++)
{
s=s*i;
}
return s;//返回给调用对象计算结果s
}
}
App类:创建了一个Computer类的对象
/**
* 将下列所有的类打包成TwoBao包
* 创建属于Computer类的Sum对象
* 利用对象Sum调用Computer类中的Sun方法,并且把变量x的值传递给方法Sun,并由方法Sun计算并返回结果
*/
package TwoBao;
import java.util.*;
import DaBao.*;//导入DaBao包
public class App {
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
System.out.println("请输入操作数的数值");
int x=reader.nextInt();
Computer Sum=new Computer();
System.out.println("该操作数的阶乘为:"+Sum.Sun(x));
}
}
3、测试运行
二、题目二:设计一个MyPoint类,表示一个具有x坐标和y坐标的点
1、需求分析
•两个私有成员变量x和y表示坐标值;
•成员变量x和y的访问器和修改器
•无参构造方法创建点(0,0);
•一个有参构造方法,根据参数指定坐标创建一个点;
•distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离
编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。
2、代码实现
(1)MyPoint类:定义了两个double型的私有成员变量、一个无参构造方法、一个有参构造方法,一个返回值为double型的类方法
package My;
public class MyPoint {
/**
* 定义两个私有 成员变量分别为 x,y
* 分别创建两个私有成员变量x、y的访问器和修改器
*/
private double x;
private 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;
}
/**
* 无参构造方法创建点(0,0)
*/
MyPoint(){
x=0;
y=0;
}
/**
* 一个有参构造方法,根据参数指定坐标创建一个点x,y。
*/
MyPoint(double x,double y){
this.x=x;
this.y=y;
}
/**
* distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离
* 利用Math.sqrt();开平方根
*/
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)Test类:创建两个MyPoint类的对象、创建一个Scanner方法的对象
package My;
import java.util.*;
public class Test {
public static void main(String[] args) {
/**
* 创建两个MyPoint类的对象p1、p2
*/
MyPoint p1=new MyPoint();
MyPoint p2=new MyPoint();
/**
* 创建Scanner方法的对象sun;
*/
Scanner sun= new Scanner(System.in);
System.out.print("输入两点坐标");
/**
* 分别为赋予两点x,y的坐标值
*/
double x1=sun.nextDouble();
double y1=sun.nextDouble();
double x2=sun.nextDouble();
double y2=sun.nextDouble();
/**
* 利用对象p1、p2将x1、x2、y1、y2的值分别赋予修改器setX方法、setY方法
*/
p1.setX(x1);
p2.setX(x2);
p1.setY(y1);
p2.setY(y2);
/**
* 输出时调用Mypoint.distance()方法算出两点距离
*/
System.out.print("两点之间的距离为:"+MyPoint.distance(p1, p2));;
}
}
3、运行截图: