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

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

Computer代码(一个包,一个类,一个方法)

package com; //打包

public class Computer { //创建Computer类

	public static int n;                                     //创建一个 公开的类变量

	public static int getjecheng(){                         //方法
		int s=1;
		for(int i=1;i<=n;i++)                              //求阶乘
			s=s*i;
		return (s);
		}			
 }

APP代码(一个包 一个类)

           package bao;                                                                                              //打包 包名 bao
           import com.Computer;                                                                                //引入包com的Computer  类
           import java.util.Scanner;                                                                             //引入java.utol.Scanner
              public class App {                                                                                       //创建App类        
             	public static void main(String[] args) {                                               //主方法
	System.out.println("输入一个数");                                             //提示输出
	Scanner reader= new Scanner(System.in) ;                             //输入命令
	Computer. n=reader.nextInt();                                                   //输入数值到n
	int ji=Computer.getjecheng()  ;                                                  //把Computer.getjecheng()方法的值赋给ji
	System.out.println("阶乘是:"+ji);                                             //输出结果
}

}

运行结果

题目2:

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

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

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

Mypoint代码(一个类 两个构造方法, 两个访问器两个修改器,两个私有成员变量)

     public class Mypoint {                                                                         //创建类

private double x;                                                                                  //私有变量想x,y
private double y;
public double getX(){                                                                             /*成员变量x,y的访问器和修改器
	return x;
} 
public double getY(){
	return y;
}
public double setX(double x){
	return this.x=x;
	
}
public double setY(double y){
	return this.y=y;                                                                              */
}
 Mypoint(){                                                                                              //无参构造方法
	 x=0;
	 y=0;
}
 Mypoint (double x,double y){                                                                 //有参构造方法
	this.x=x;
	this.y=y;
 }
 
	 static double distance(Mypoint p1, Mypoint p2 ){                          // distance方法
		double x1= p1.getX();
		double x2=p2.getX();                                                                 //计算两点距离
		double y1=p1.getY();
		double y2=p2.getY();
		 return Math.sqrt( (x2-x1) * (x2-x1) + (y2-y1) * (y2-y1) );
	
}

}
Test 代码()

       import java.util.Scanner;                                                                                      //引入sanner包
        public class Test {                                                                                              //Test公共类 
	public static void main(String args[]) {
             Scanner reader =new Scanner (System.in);
             System.out.println("  请输入两个坐标");
            double x1=reader.nextDouble();                                                              //输入x1,x2.y1,y1
            double y1=reader.nextDouble();
            double x2=reader.nextDouble();
            double y2=reader.nextDouble();
            
            Mypoint p1=new Mypoint(x1,y1);                                                             //创建对象
            Mypoint p2=new Mypoint(x2,y2);
            double m=Mypoint.distance(p1, p2);                                                        //Mypoint.distance(p1, p2); 的值赋给m     
            System.out.println("两点间的距离是"+m);                                                //输出结果
	}


}

运行结果

posted @ 2019-09-20 23:06  杨寒冰  阅读(127)  评论(0编辑  收藏  举报