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

一、题目1

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

二、代码

 


package qjc2;//包名
import java.util.*;//引入包
import qjc1.*;
public class java {


/**
* @param args
*/
public static void main(String[] args) { //创建主类
// TODO Auto-generated method stub
Scanner reader=new Scanner(System.in); //创建reader的对象
int n=reader.nextInt();
System.out.println("用户输入的是:"+n);
jc java=new jc();
int s = java.jc(n); //定义类的对象s
System.out.println("n的阶乘为"+s);
}
}

package qjc1; //包名

public class jc {
		public int jc(int n){ //创建求阶乘方法
		    int z=1;
		    for(int i=1;i<=n;i++){ 
		    	z=z*i;
		    }
		    return z;
		} 
}	

 三、运行结果

一、题目2

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

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

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

二、代码

package c1;    //包名c1

public class Mypoint {
	private double x;  //私有变量x
	private double y;  //私有变量y
	public double getX(){  //x的访问器
		return x;
	}
	public void setX(double x){  //x的修改器
		this.x=x;
	}
	public double getY(){  //y的访问器
		return y;
	}
	public void setY(double y){   //x的修改器
		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);//求两点间距离并返回结果
         

	     }
}

  

package c2; //包名c2
import c1.Mypoint;//引入c1包中的Mypoint类
import java.util.*;


public class Text {
	   public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner reader =new Scanner (System.in); //创建reader的对象
        System.out.println("请输入两个坐标");
       double x1=reader.nextDouble();       //读点一的坐标         
       double y1=reader.nextDouble();
       double x2=reader.nextDouble();       //读点二的坐标   
       double y2=reader.nextDouble();
       Mypoint p1=new Mypoint (x1,y1);      //创建两个点的对象                                                 
       Mypoint p2=new Mypoint(x2,y2);     
       System.out.println(Mypoint.distance(p1,p2)); //调用Mypoint的类方法输出计算出的距离

	}
        }

 三、运行结果

 

posted @ 2019-09-18 14:14  朱佳美20194662  阅读(146)  评论(0编辑  收藏  举报