面向对象第六次作业
题目1:编写一个类Computer,类中含有一个求n的阶乘的方法。将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决定),并将结果输出。
一、源程序
1、Computer.java
package vv; public class Computer{ public int jiecheng(int a) { int sum =1; for(int i=1;i<=a;i++) { sum*=i; } return sum; } }
2.cdf.java
package z; import java.util.Scanner; import vv.Computer; public class cdf { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner reader =new Scanner(System.in); System.out.println("请输入一个数:"); int n=reader.nextInt(); Computer c =new Computer(); System.out.println("这数阶乘为"+c.jiecheng(n)); } }
三、运行结果
题目2:
设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:
- 两个私有成员变量x和y表示坐标值;
- 成员变量x和y的访问器和修改器
- 无参构造方法创建点(0,0);
- 一个有参构造方法,根据参数指定坐标创建一个点;
- distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。
编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。
一、源程序
Test.java
package bb; import java.util.*; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner vv = new Scanner(System.in); MyPoint m1 = new MyPoint(); MyPoint m2 = new MyPoint(); System.out.print("请输入一个点"); double x1 = vv.nextDouble(); double y1 = vv.nextDouble(); System.out.print("请输入另一个点"); double x2 = vv.nextDouble(); double y2 = vv.nextDouble(); System.out.print(m1.distance(new MyPoint(x1,y1), new MyPoint(x2,y2))); //利用distance()方法计算这两个点之间的距离 } }
2.MyPoint.java
//计算连个点之间的距离 package bb; //起一个包名 public class MyPoint { //起一个MyPoint的类 private double a; // a是横坐标 private double b; // b是纵坐标 public double getA() { return a; } public void setA(double a) { this.a = a; } public double getB() { return b; } public void setB(double b) { this.b = b; } public MyPoint(){ //•无参构造方法创建点(0,0); a = 0; b = 0; } public MyPoint(double a,double b){//创建有参构造方法; this.a = a; this.b = b; } static double distance(MyPoint a,MyPoint b){ //创建distance方法求两个点距离 double x=a.getA()-b.getA(); double y=a.getB()-b.getB(); return Math.sqrt(x*x+y*y); } }
三、运行结果