第六次作业
一 题目1:编写一个类Computer,类中含有一个求n的阶乘的方法。将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决定),并将结果输出。
二 代码
Computer.java/**在Computer类中求阶层*/
package jc;//创建包
public class Computer {//定义Computer类
public long getjc(long n){//求阶层的方法
	long b=1;
	for(int i=1;i<=n;i++)
		b*=i;
	return b;
}
}
App.java/**在主类中创建对象,调用其他包中的类的方法输出阶层*/
package app;//创建包
import java.util.*;//引入类
import jc.Computer;//引入其他包中的类
public class App {
	/**
	 * @param args
	 */
	public static void main(String[] args) {//主类
		// TODO Auto-generated method stub
		Scanner s=new Scanner(System.in);//输入数据
		long n=s.nextLong();//输入n的值
		Computer H=new Computer();//创建对象
		System.out.println("该数的阶层为:");
		System.out.println(H.getjc(n));
		}
}
三 运行结果

四 题目2
设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:
- 两个私有成员变量x和y表示坐标值;
 - 成员变量x和y的访问器和修改器
 - 无参构造方法创建点(0,0);
 - 一个有参构造方法,根据参数指定坐标创建一个点;
 - distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。
 
编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。
五 代码
/**在主类中调用distance方法求出两点间距离*/
package cn.edu.ccut.po;//创建包
import java.util.*;//引入类
public class MyPoint {//建立MyPoint类
	double x,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){//修改y的值
		this.y=y;
	}
MyPoint(){//建立一个无参的构造方法
		x=0;//创建(0,0)点
		y=0;
	}
	MyPoint(double x,double y){//定义有参构造方法,根据参数指定坐标创建一个点
		this.x=x;
		this.y=y;
	}
	static double distance(MyPoint p1,MyPoint p2){//求两点之间的距离
		double x1=p1.getX();//获取x1,x2,y1和y2的值
		double x2=p2.getX();
		double y1=p1.getY();
		double y2=p2.getY();
		return Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));//返回两点间的距离值
	}
		}
   class Test{
	  public static void main(String[] args){//主类
		 MyPoint p1=new MyPoint(2,4);//定义对象p1和p2
		 MyPoint p2=new MyPoint(2,2);
		 System.out.println(MyPoint.distance(p1,p2));//输出值
		   }
	  }
六 运行结果

                    
                
                
            
        
浙公网安备 33010602011771号