第6次作业--static关键字、对象

题目1:

编写一个类Computer,类中含有一个求n的阶乘的方法。将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决定),并将结果输出。

源代码:

1.Computer.java

package util_01;
/**
 *  定义一个公有的Computer类 里面包含一个公有的factorial方法 
 *  将类打包在util_01中
 * @author ASUS
 *
 */
public class Computer {					//定义公有类Computer
    public int factorial(int n) {		//定义一个公有方法factorial,并定义形参为整形类型的 n
        int number = 1; 				//阶乘的初值为1
        for (int i = 1; i <= n; i++) {	//for循环求阶乘
        	number *= i;
        }
        return number;
    }
}

2.Test.java

package com.hou;
import util_01.Computer;
import java.util.*;
/**
 * 实现输入一个正整数并求其阶乘 
 * 需要导入util_01.Computer的包 将它打包在com.hou中
 * @author ASUS
 *
 */
public class Test {								// 定义一个公有类名字是Test
    public static void main(String[] args) {	
        Scanner reader = new Scanner(System.in);// 创建Scanner的对象
        Computer computer = new Computer();		// 创建computer的对象
        System.out.println("Please enter a positive integer:");
        int n = reader.nextInt();				//调用Scanner类中的nextInt方法
        System.out.println(n + "'s factorial is:" + computer.factorial(n));
        // 调用Computer类中的factorial方法
    }
}

程序运行截图

题目2:

设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:
两个私有成员变量x和y表示坐标值;
成员变量x和y的访问器和修改器
无参构造方法创建点(0,0);
一个有参构造方法,根据参数指定坐标创建一个点;
distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。
编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。

源代码:

1.MyPoint .java

package com.hou;
import java.util.*;
/**
 * 建立一个MyPoint类;
 * 定义x坐标和y坐标的点
 * 并且求两个点的之间的距离
 * @author ASUS
 *
 */
public class MyPoint {
    private double x;// 定义私有成员变量x,y
    private double y;

    public double getX() {// 创建访问器getX
        return x;
    }

    public void setX(double x) {// 创建修改器setX
        this.x = x;
    }

    public double getY() {// 创建访问器getY
        return y;
    }

    public void setY(double y) {// 创建修改器setY
        this.y = y;
    }

    private void Mypoint() {// 创建构造方法
        x = 0.0;
        y = 0.0;

    }

    public MyPoint(double x, double y) {// 创建有参x,y构造方法
        this.x = x;
        this.y = y;
    }

    public static double dis(MyPoint p1, MyPoint p2) {// 创建公有类方法dis
                                                         
        return Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y));
    }
}

2.Test.java

/**
 * Test主类
 * 输入两个坐标并且计算两个坐标之间的距离dis
 * @author ASUS
 *
 */
class Test{
    public static void main(String[] args) {
        
        double x1,y1,x2,y2;
        Scanner reader=new Scanner(System.in);
        System.out.println("Please enter x and y of the first point:");
        x1=reader.nextDouble();
        y1=reader.nextDouble();
        System.out.println("Please enter the x and y of the second point:");
        x2=reader.nextDouble();
        y2=reader.nextDouble();
        MyPoint p1=new MyPoint(x1, y1);//调用有参构造方法
        MyPoint p2=new MyPoint(x2, y2);//调用有参构造方法
        System.out.println("The distance between x and y is:"+MyPoint.dis(p1, p2));//输出  
    }  
}

程序运行截图

posted @ 2019-09-22 21:14  侯英龙20194669  阅读(139)  评论(0编辑  收藏  举报