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

题目一:

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

 

1、实现:

Computer.java文件和App.java文件

package b;

public class Computer {
    int size;
    int score = 1;

    public void setNumber(int size) {//访问器
        this.size = size;
    }
    
    public int getNumber(int size) {     //修改器
        for (int i = 1; i <= size; i++) {
            score = score * i;
        }
        return score;
    }
    

}
package a;

import java.util.Scanner;  // 引用Scanner类

import b.Computer;

public class App {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Computer c = new Computer(); //定义一个c的对象
        Scanner reader = new Scanner(System.in); //输入一个数
        System.out.println("请输入一个数:");
        int number = reader.nextInt();//number调用reader里next方法
        System.out.println("这个数的阶乘结果是:" + c.getNumber(number));
    }

};

2、运行结果

第6次作业--static关键字、对象_第1张图片

 

 

题目二:

 

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

 

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

 

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

1.实现

① Test.java文件

package second;

import java.util.Scanner;

import second.MyPoint;

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);  //定义一个sc输入值
        System.out.println("请输入第一个点的x坐标:");
        int x1 = sc.nextInt();//定义x1对象调用nextInt()方法
        System.out.println("请输入第一个点的y坐标:");
        int y1 = sc.nextInt();//定义y1对象调用nextInt()方法
        System.out.println("请输入第二个点的x坐标:");
        int x2 = sc.nextInt();//定义x2对象调用nextInt()方法
        System.out.println("请输入第二个点的y坐标:");
        int y2 = sc.nextInt();//定义y2对象调用nextInt()方法
        MyPoint mp1 = new MyPoint();   //定义一个mp1对象
        MyPoint mp2 = new MyPoint();   //定义一个mp2对象
        mp1.setX1(x1);//赋值
        mp1.setX1(y1);//赋值
        mp2.setX1(x2);//赋值
        mp2.setX1(y2);//赋值
        System.out.println(mp1.getDistance(mp1, mp2));//输出值
    }

};

② MyPoint.java文件

package second;
public class MyPoint {
    private int x1;   //定义一个私有的整形变量x1
    private int y1;   //定义一个私有的整形变量y1

    public MyPoint(int x1, int y1) {     //定义有参构造方法
        // TODO Auto-generated constructor stub
        this.x1 = x1;
        this.y1 = y1;
    }

    public MyPoint() {       //定义无参构造方法
        // TODO Auto-generated constructor stub
        x1 = 0;
        y1 = 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 static double getDistance(MyPoint mp1, MyPoint mp2) {  //修改器
        double x1=mp1.getX1();//定义x1对象调用mp2.getx1方法
        double x2=mp2.getX1();//定义x2对象调用mp2.getx1方法
        double y1=mp1.getX1();//定义y1对象调用mp2.getx1方法
        double y2=mp2.getX1();//定义x1对象调用mp2.getx1方法
        double distance = Math.sqrt(Math.pow((x1 - x2), 2)//定义一个distance变量作为最后值
                + Math.pow((y1 - y2), 2));
        return distance;     //返回结果值
    }
}

2、运行结果:

第6次作业--static关键字、对象_第2张图片

 

你可能感兴趣的:(第6次作业--static关键字、对象)