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

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

1.代码

 1 package QQQ;   //创建一个包QQQ
 2 
 3 
 4 public class Computer {
 5 
 6  int s=1;
 7 public  int jc(int n){         //阶乘的方法
 8     
 9     for(int i=1;i<=n;i++){
10         s*=i;
11         
12     }
13     return s;
14   }
15 }
package WWW;   //创建包WWW
import java.util.Scanner;

import QQQ.Computer;   //导入包QQQ的类Computer
public class App {
     
    
     
    public static void main (String []args){
        Computer c= new Computer();              //创建对象
        Scanner reader = new Scanner(System.in);
        System.out.println("请输入n");
        int n =reader.nextInt();
        
        int m = c.jc(n);
        System.out.println(m);
    }
}

2.输出结果

题目2:

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

  • 两个私有成员变量x和y表示坐标值;

  • 成员变量x和y的访问器和修改器

  • 无参构造方法创建点(0,0);

  • 一个有参构造方法,根据参数指定坐标创建一个点;

  • distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。

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

 1.代码

package QQQ;         //自己创建的包QQQ

public class MyPoint {       //类MyPoint
double x;
double y;                     //成员变量
   
    public double getX(){      //构造器
        return x;
    }  
    public void setX(double x){    //修改器
        this.x = x;
    }
    public double getY(){
        return y;
    }
    public void setY(double y){
        this.y = y;
    }
    public MyPoint(){
        x=0;
        y=0;
    }
    public MyPoint(double x,double y){
        this.x=x;
        this.y=y;
    }
    public static double distance(MyPoint p1,MyPoint p2){          //带参的类方法
        double x1 = p1.getX();
        double x2 = p2.getX();                                     //赋初值
        double y1 = p1.getY();
        double y2 = p2.getY();
        return Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));         //计算两点之间距离的函数
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub

    }
    

}
 1 import java.util.Scanner;
 2 import QQQ.MyPoint;               //导入QQQ包中的MyPoint类,以便引用类中的方法
 3 
 4 public abstract class Test {       //主类Test
 5 
 6     
 7     public static void main(String[] args) {
 8         Scanner reader =new Scanner(System.in);
 9           System.out.println("请输入第一个横坐标的值");
10            double x1=reader.nextDouble();
11           System.out.println("请输入第一个纵坐标的值");
12           double y1=reader.nextDouble();
13           System.out.println("请输入第二个横坐标的值");
14            double x2=reader.nextDouble();
15            System.out.println("请输入第二个纵坐标的值");
16           double y2=reader.nextDouble();
17            MyPoint mp1=new MyPoint(x1,y1);        //对象的声明创建
18            MyPoint mp2=new MyPoint(x2,y2);
19            
20                     x1=mp1.getX();                //引用MyPoint中的方法
21                     x2=mp2.getX();
22                   y1=mp1.getX();
23                   y2=mp2.getY();
24                  double distance=mp2.distance(mp1,mp2);
25                  System.out.println(distance);
26     }
27 
28 }

2.输出结果

posted @ 2019-09-20 21:37  常恒*&&  阅读(181)  评论(0编辑  收藏  举报