作业1

一、题目

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

二、源代码

computer.java

创建一个computer类,建立一个构造方法,在构造方法里做一个for循环计算阶乘

package gy1;               //

public class computer {    //创建一个类
public int j(int n) {      //创建有参数的构造方法
     int s=1;
     int i=1;              //定义变量并初始化
     for(i=1;i<=n;i++) {
         s=s*i;            //用for循环计算阶乘
     }
     return s;             //最后返回s的值
}
}

App.java

package gy;
import java.util.*;         //导入java.util.*下的包,导入scanner类
import gy1.computer;        //导入gy1包里的computer类
public class APP {          //创建一个类

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        Scanner in=new Scanner(System.in);    //用Scanner类创建对象
        int n=in.nextInt();     //读入输入的值
        computer com=new computer();       //用computer类创建对象
        System.out.println(n+"的阶乘为"+com.j(n));   //输出结果

    }

}

三、运行结果

作业2

一、题目

 

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

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

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

 二、源代码

Mypoint.java

public class Mypoint {            //创建一个类,定义两个变量x,y

    private double x;
    private double y;
    public double getX(){         //用访问器get()访问成员变量x
        return x;
    }
    public void setX(double x) {  //通过修改器参数修改x的值
        this.x=x;
    }
    public double getY() {        //用访问器get()访问成员变量y
        return y;
    }
    public void setY(double y) {  //通过修改器参数修改y的值
        this.y=y;
    }
    Mypoint(){                    //创建参数为空的构造方法Mypoint()
        x=0;                      
        y=0;                      //给x,y赋初值
    }
    Mypoint(double x,double y){   //有参数的构造方法
        this.x=x;                 
        this.y=y;                 //用this修改成员变量x,y的值
    }
    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)));     //用sqrt()函数开方计算两点间的距离
    }
}

Test.java

import java.util.*;
public class Test {

    public static void main(String[] args) {
        double x1,x2,y1,y2;                    //定义4个变量接收从键盘输入的数
        Scanner in=new Scanner(System.in);     //用Scanner类创建对象
        System.out.println("请输入第两个点的坐标:"); 
        x1=in.nextDouble();
        y1=in.nextDouble();
        x2=in.nextDouble();
        y2=in.nextDouble();                    //读入输入的数值
        Mypoint p1=new Mypoint(x1,y1);
        Mypoint p2=new Mypoint(x2,y2);         //建立两个对象p1,p2
        System.out.println("两点距离是:"+Mypoint.distance( p1, p2));  //用distance()方法计算两点距离并输出
    }
}

三、结果

 

posted on 2019-09-18 23:11  韩玉双20194626  阅读(166)  评论(0编辑  收藏  举报