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

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

一、源程序:

1、Computer.java

package tym;//创建一个包,包名是tym
public class Computer {//创建一个公有的类Computer
    int sum=1;//定义sum变量为数值型,并赋初值1
    public int getSum(int x) {//公有的带参访问器
        for(int i=1;i<x+1;i++) {//循环从1开始到输入的数值i结束循环
        sum=sum*i;//通过sum不断累乘输入之前的值获取阶乘值
        }
        return sum;//把计算得到的sum值返回给主方法
    }
}
/**
1、该Computer类中包含整型变量i和变量sum、x,方法就是应用了一个
for循环语句,i的初值为1;再判断i是否小于x+1的值;是的话就i++;
通过sum不断累乘输入之前的值获取阶乘值;最后返回sum的值给主方法
2、成员变量sum,作用:描述事物公共属性
3、构造方法:computer,作用:对象的创建,完成对象的初始化

*/

 

2、App.java

/**
  创建一个包,包名是tao
  引入java中util包下的Scanner类
  引入tym包下的Computer类
  一个公有类App 
 公有的无返回值静态主方法
  为对象a开辟一块新的内存空间并创建为Computer类
  为对象reader开辟一块新的内存空间并创建对象为Scanner类
  将变量reader所指代的Scanner类下的nextInt方法赋值给变量b
  输出语句并调用变量a所指代的Computer类下的getSum方法
 */
package tao;
import java.util.Scanner;
import tym.Computer;
public class App {
    public static void main(String[] args) {
        System.out.println("请输入一个数字");
     Computer a=new Computer();
    Scanner reader=new Scanner(System.in);
    int b=reader.nextInt();
    System.out.println("阶乘是"+a.getSum(b));
    }
}

 

 

二、运算结果

 

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

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

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

 一、源程序

1、myPoint.java

package aaa;//创建aaa包

public class myPoint {//创建myPoint类
        private int x;//创建一个私有成员变量x
        private int y;//创建一个私有的成员变量y
        public myPoint() {//使用无参构造方法创建点(0,0)
            x=0;
            y=0;
        }
        public myPoint(int x,int y){//使用有参构造方法
            this.x=x;
            this.y=y;
        }
        public int getX() {//获取成员变量x的数值
            return x;
        }
        public void setX(int x) {//给成员变量x赋值
            this.x = x;
        }
        public int getY() {//获取成员变量y的数值
            return y;
        }
        public void setY(int y) {//给成员变量y赋值
            this.y = y;
        }
        
        public static double distance(myPoint p1,myPoint p2){
            double d=Math.sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
            System.out.println("两点之见的距离是:"+d);//输出“两点之见的距离是:”
            return d;//返回两点间的距离
            
        }
}

2、Ming.java

package cs;//创建一个cs包
import aaa.myPoint;//引入aaa包下,导入myPoint类
import java.util.Scanner;//引入java.util.*下的包,导入scanner类
public class Ming {//创建一个Ming类

    public static void main(String[] args) {
    
        Scanner sc=new Scanner(System.in);////输入坐标数据
        System.out.println("请输入p1点横坐标:");//输出“请输入p1点横坐标:”
        int x1=sc.nextInt();//获取输入值
        System.out.println("请输入p1点纵坐标:");//输出“请输入p1点纵坐标:”
        int y1=sc.nextInt();//获取输入值
        System.out.println("请输入p2点横坐标:");//输出“请输入p2点横坐标:”
        int x2=sc.nextInt();//获取输入值     
        System.out.println("请输入p点纵坐标:");//输出“请输入p点纵坐标:”
        int y2=sc.nextInt();//获取输入值
        myPoint p1=new myPoint(x1,y1);//创建第一个myPoint坐标对象p1
        myPoint p2=new myPoint(x2,y2);//创建第二个myPoint坐标对象p2
        double d= myPoint.distance(p1, p2);//调用myPoint对象计算两点之间的距离
 
    }

}

3、运行结果

 

posted @ 2019-09-21 23:10  随风而逝1996  阅读(215)  评论(0)    收藏  举报