面向对象第六次作业

 

题目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);
    
}

}

三、运行结果

 

posted @ 2019-09-19 22:02  ·起个名好难  阅读(198)  评论(0编辑  收藏  举报