Java第六次作业
一、 题目1
编写一个类Computer,类中含有一个求n的阶乘的方法。
将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,
调用求n的阶乘的方法(n值由参数决定),并将结果输出。
二、代码段
(1)Computer类
package cn; public class Computer { //写一个阶乘 public static int fac(int num){ int result=1; if(num==1){ return result;//如果为1;则直接返回结果 }else{ for(int i=1;i<=num;i++){ result*=i;//计算阶乘 } return result;//返回结果 } } }
(2)App类
package Test; import java.util.Scanner; import cn.Computer;//将computer类引入App中 public class App { /** * @param args */ public static void main(String[] args) { //创建computer对象 Computer com = new Computer(); Scanner reader=new Scanner(System.in);//创建Scanner类方法 System.out.println("请输入一个数"); int m = reader.nextInt();//将m从键盘读入 System.out.println(m+"的阶乘为"+com.fac(m));
三、结果
题目(2)
设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:
- 两个私有成员变量x和y表示坐标值;
- 成员变量x和y的访问器和修改器
- 无参构造方法创建点(0,0);
- 一个有参构造方法,根据参数指定坐标创建一个点;
- distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。
编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。
二、代码段
(1)MyPoint类
package Z; /** 此类包括两个私有变量x,y代表横纵坐标值,两个变量具有访问器和修改器, */ 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,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();//得到x1点坐标 double x2 =p1.getX(); double y1 =p1.getX(); double y2 =p1.getY(); return Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));//求两点之间距离公式 } }
(2)Test类
package Z; import java.util.Scanner; public class Test { /** * @param args */ public static void main(String[] args) { //为两点间的坐标传参 MyPoint p1 = new MyPoint(5,6); MyPoint p2 = new MyPoint(3,2); double distance = MyPoint.distance(p1, p2);//调用两点间距离方法 System.out.println("两点间的距离为"+distance); } }
三、运行结果