20194653 面向对象基础3——static、this、包总结

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

一、源程序

1.computer.java

/**
 * 创建一个computer类,类中包含getJC方法,其方法作用为求所传参数X的阶乘
 */
package 阶乘;

public class computer {
	public	long getJC(long x){  //创建求阶乘方法
		long p=1;
	for (int i = 1; i <= x; i++) {
		p*=i;
		}
	return p;
	}
}

2.APP.java

/**
 * 创建APP类类中包含主方法,主方法中用computer类中定义了一个对象T,由T调用computer类中getJC方法,
 * 求用户所输入数的阶乘
 */
package APP;
import java.util.Scanner;

import 阶乘.computer;
public class APP {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("请输入一个整数");
		Scanner reader=new Scanner(System.in);
		computer T=new computer();   //定义computer类的对象T
		long p=reader.nextLong();    
		System.out.println(T.getJC(p));  //调用computer类中求阶乘方法getJC
		
	}

}

 二、运行结果

题目2:

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

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

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

一、源程序

1.mypoint.java

/**
 * 创建mypoint类,请中包含下
 * x.y两个成员变量,接收两个点坐标,
 * x.y成员变量的修改器和访问器getX.setX.getY.setY
 * 两个构造方法,第一个为无参构造方法创建点(0,0),第二个为有参构造方法根据参数指定坐标创建一个点,
 * 一个distance方法求两个点之间的距离。
 * @author X1393
 *
 */
public class mypoint {    
	double x;     //定义成员变量X
	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;
	}
	mypoint(){            //创建无参构造方法创建点(0,0)
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)); } }

  

2.Test.java 

import java.util.Scanner;

/**
 * 创建主方法其中包含以下部分
 * x1.x2.y1.y2四个变量接受两个点的四个坐标
 * 调用mypoint中distance方法求两个点距离
 * @author X1393
 *
 */
public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("请输入两点坐标");
		Scanner reader=new Scanner(System.in);
		double x1=reader.nextDouble();   
		double y1=reader.nextDouble();
		double x2=reader.nextDouble();
		double y2=reader.nextDouble();
		mypoint T1=new mypoint();    //定义接收第一个点的对象T1
		mypoint T2=new mypoint();    //定义接受第二个点的对象T2
		T1.x=x1;
		T1.y=y1;
		T2.x=x2;
		T2.y=y2;
		System.out.println(mypoint.distance(T1, T2));  //调用distance方法求出两点之间距离
	}

}

 二、运行结果

原文地址:https://www.cnblogs.com/Xwwg/p/11541059.html