面向对象 (2)n的阶乘与两点距离

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

一、源程序

1、Computer.java

/**计算n得阶乘
 * 包含一个computer类 一个factorial方法
 */
package w18d;//将该类打包
public class Computer {
    public int factorial(int n){
        int r=1;//变量i用于存储阶乘结果
        for(int i=1;i<=n;i++){//循环累乘求阶乘结果
            r*=i;
        }
        return r;//返回结果值
    }
}

2、App.java

/**从键盘获取n值 调用方法 输出阶乘值
 * 包含一个App类 一个主方法
 */
package w18;
import java.util.Scanner;
import w18d.*;//Java文件App.java中引入包
public class App {
    public static void main(String[] args) {
        Computer num = new Computer();// 在主类中定义Computer类的对象
        Scanner reader = new Scanner(System.in);//从键盘获取n值
        System.out.println("请输入n");//输入提示
        int n = reader.nextInt();//存储n值
        System.out.println("n的阶乘为"+num.factorial(n));//调用求n的阶乘的方法(n值由参数决定)将结果输出
    }
}

二、成功界面截图

面向对象 (2)n的阶乘与两点距离_第1张图片

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

一、源程序

Test.java

/**计算两个点之间的距离
 * 包含两个类 八个方法
 */
package w18t;
import java.math.*;
import java.util.Scanner;
class MyPoint{//包含七个方法 两个成员变量
    private double x;//两个私有成员变量x和y表示坐标值
    private double y;
    public double getX() {//成员变量x和y的访问器
        return x;
    }
    public double getY() {
        return y;
    }
    public void setX(double x) {//成员变量x和y的修改器
        this.x = x;
    }
    public void setY(double y) {
        this.y = y;
    }
    MyPoint(){//无参构造方法创建点(0,0)
        x = 0;
        y = 0;
    }
    MyPoint(double x,double y){//有参构造方法根据参数指定坐标创建一个点
        this.x = x;
        this.y = y;
    }
    static double distance(MyPoint a,MyPoint b){//返回参数为MyPoint类型的两个点对象之间的距离 
        return Math.sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
    }
    
}
public class Test {
    public static void main(String[] args) {
        MyPoint a = new MyPoint();//创建两个点对象
        MyPoint b = new MyPoint();
        Scanner reader = new Scanner(System.in);//获取两点坐标
        System.out.println("请输入两点坐标");
        a.setX(reader.nextInt());
        a.setY(reader.nextInt());
        b.setX(reader.nextInt());
        b.setY(reader.nextInt());
        System.out.println("两点间距离为"+MyPoint.distance(a, b));//利用distance()方法计算这两个点之间的距离
    }
}

二、成功界面截图

面向对象 (2)n的阶乘与两点距离_第2张图片

你可能感兴趣的:(面向对象 (2)n的阶乘与两点距离)