20194622 JAVA--static、this、包总结--求阶乘

第一题:

一、题目

  编写一个类Computer,类中含有一个求n的阶乘方法。将该类打包,并在另一个包中Java文件中引入包,在主类中定义Computer类的对象,调用求n的阶乘方法,并输出。

二、代码

1.Computer.java

package a;

public class Computer {                //Computer类
    int number = 0;
    int score = 1;

    public Computer(int number) {          //有参构造方法
        // TODO Auto-generated constructor stub
        this.number = number;
    }

    public int getNumber() {             //访问器
        for (int i = 1; i <= number; i++) {
            score = score * i;
        }
        return score;
    }

    public void setNumber(int number) {       //修改器
        this.number = number;
    }

}

2.App.java

package b;

import java.util.Scanner;

import a.Computer;

public class App {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);      //输入数据
        System.out.println("请输入一个数:");
        int number=sc.nextInt();
        Computer c=new Computer(number);         //将Computer类给变量c创建对象
        System.out.println("这个数的阶乘结果是:"+c.getNumber());    //调动类Computer的getNumber方法
    }

};

三、运行结果

第二题:

一、题目

  设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:

  • 两个私有成员变量x和y表示坐标值。
  • 成员变量x和y的访问器和修改器。
  • 无参构造方法创建点(0,0)。
  • 一个有参构造方法,根据参数指定坐标创建一个点。
  • distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。

        编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。

二、代码

1.MyPoint.java

package Seventh;

public class MyPoint {
    private int x1;
    private int y1;
    private int x2;
    private int y2;

    public MyPoint(int x1, int y1, int x2, int y2) {          //有参构造函数
        // TODO Auto-generated constructor stub
        this.x1 = x1;
        this.y1 = y1;
        this.x2 = x2;
        this.y2 = y2;
    }

    public MyPoint() {                            //无参构造函数
        // TODO Auto-generated constructor stub
        x1 = 0;
        y1 = 0;
        x2 = 0;
        y2 = 0;
    }

    public int getX1() {                           //访问器
        return x1;
    }

    public void setX1(int x1) {                       //修改器
        this.x1 = x1;
    }

    public int getY1() {
        return y1;
    }

    public void setY1(int y1) {
        this.y1 = y1;
    }

    public int getX2() {
        return x2;
    }

    public void setX2(int x2) {
        this.x2 = x2;
    }

    public int getY2() {
        return y2;
    }

    public void setY2(int y2) {
        this.y2 = y2;
    }

    public static double getDistance(MyPoint a, MyPoint b) {       //方法,计算距离
        double distance = Math.sqrt((a.getX1() - b.getX2())
                * (a.getX1() - b.getX2()) + (a.getY1() - b.getY2())
                * (a.getY1() - b.getY2()));
        return distance;
    }
}

2.Test.java

package Seventh;

import java.util.Scanner;


public class Test {

    /**
     * @param args
     */
    @SuppressWarnings("static-access")
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);             //输入数据
        System.out.println("请输入第一个点的x坐标:");
        int x1 = sc.nextInt();
        System.out.println("请输入第一个点的y坐标:");
        int y1 = sc.nextInt();
        System.out.println("请输入第二个点的x坐标:");
        int x2 = sc.nextInt();
        System.out.println("请输入第二个点的y坐标:");
        int y2 = sc.nextInt();
        MyPoint mp = new MyPoint(x1, y1, x2, y2);          //创建mp的对象
        System.out.println("您要求的两点坐标距离是:"+mp.getDistance(mp, mp));            //调用MyPoint类的getDistance方法
    }

};

三、运行结果

原文地址:https://www.cnblogs.com/himurayaiba/p/11541462.html