一、题目一:
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、运行截图: