胡昊—第6次作业—static关键字、对象

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

package QQQ;

public class Computer {
	
	/**
	 * 该类实现对主方法中传入的参数求阶乘的操作,并将结果返回主方法
	 */
	public int getQQQ(int n) {
		// TODO Auto-generated method stub
		int x=1;//累乘使用的变量,赋初值为1
		for(int i=1;i<=n;i++){
			x*=i;
		}
		return x;
	}

}

  

App.Java

package ZZZ;
import QQQ.Computer;
import java.util.*;
public class App {

	/**
	 * 该类为主类,里面包含主方法,输入一个数n,通过调用Computer类,
	 * 实现求n阶乘的操作
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Computer c=new Computer();//实例化一个Computer类的对象
		Scanner r=new Scanner(System.in);
		System.out.println("请输入一个数:");
		int n=r.nextInt();
		c.getQQQ(n);//调用Computer类中的getQQQ方法
		System.out.println(n+"的阶乘是:"+c.getQQQ(n));

	}

}

 

程序实现截图

 

#题目2:

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

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

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

MyPoint.java

package cn.edu.ccut.point;

public class MyPoint {

	/**
	 * 该类实现求两点距离的功能
	 */
	double x;
	double y;
	public double getX() {
		return x;
	}
	public void setX(double x) {
		this.x = x;
	}
	public double getY() {
		return y;
	}
	public void setY(double y) {
		this.y = y;
	}
	
	MyPoint(){//构造方法,使x,y的初值为0
		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();//通过getX()和getY(),获取两点的横纵坐标
		double x2=p2.getX();
		double y1=p1.getY();
		double y2=p2.getY();
		return Math.sqrt(Math.pow((x1-x2),2)+Math.pow((y1-y2), 2));
	}
}

  

Test.java

import cn.edu.ccut.point.*;
import java.util.*;
public class Test {

	/**
	 * 该类为主类,在该类中调用MyPoint类,实现求两点距离的功能
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner r=new Scanner(System.in);
		
		System.out.println("请输入点1的X值");
		double Ax=r.nextDouble();
		System.out.println("请输入点1的Y值");
		double Ay=r.nextDouble();
		System.out.println("请输入点2的X值");
		double Bx=r.nextDouble();
		System.out.println("请输入点2的Y值");		
		double By=r.nextDouble();
		
		MyPoint p1=new MyPoint(Ax,Ay);//实例化MyPoint类的对象,并为点传递横纵坐标值
		MyPoint p2=new MyPoint(Bx,By);
		System.out.print("两点间距离为:"+MyPoint.distance(p1,p2));
		
	}

}

 

运行结果截图

posted @ 2019-09-21 20:05  胡烙懿  阅读(135)  评论(0编辑  收藏  举报