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

☆题目1

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

☆代码及注释

☆☆App.java包内

package App.java;

/**
 * 定义一个公有的Computer类 里面包含一个公有的jieCheng方法 将类打包在App.java中
 * 
 * @author minky
 */
public class Computer {// 定义公有类
	public int jieCheng(int n) {// 定义一个公有方法,一个参数n,返回值为int类型
		int num = 1;
		for (int i = 1; i <= n; i++) {// 循环求阶乘
			num *= i;
		}
		return num;
	}
}

☆☆com.java包内

package com.java;

import java.util.Scanner;

import App.java.*;

/**
 * 这是一个主类,来实现输入一个整数来求他的阶乘 需要导入App.java的包 将它打包在com.java
 * 
 * @author minky
 *
 */
public class Test {// 定义一个public 类 名字是Test
	public static void main(String[] args) {// 主方法
		Scanner scanner = new Scanner(System.in);// 创建Scanner的对象
		Computer computer = new Computer();// 创建Scanner的对象
		System.out.println("请输入要阶乘的数:");
		int n = scanner.nextInt();// 声明一个n,并调用Scanner类中的nextInt方法从键盘上获取一个整型。
		System.out.println(n + "的阶乘是:" + computer.jieCheng(n));// 调用Computer类中的jieCheng方法,传入参数n得出n的阶乘
	}
}

☆代码运行截图

☆题目2

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

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

☆代码及注释

☆☆com.point包内

package com.point;

import java.util.Scanner;

/**
 * MyPoint类,表示一个具有x坐标和y坐标的点, 一个类方法求两个点的之间的距离
 * 
 * @author minky
 *
 */
public class MyPoint {
	private double x;// 私有变量
	private 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;
	}

	private void Mypoint() {// 无参构造方法
		x = 0.0;
		y = 0.0;

	}

	public MyPoint(double x, double y) {// 有参构造方法
		this.x = x;
		this.y = y;
	}

	public static double distance(MyPoint p1, MyPoint p2) {// 公有类方法
															// 两个参数均为Mypoint类型,返回值为double
		return Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y));
	}
}
/**
 * 测试类:输入两个坐标计算两个坐标之间的距离
 * @author minky
 *
 */
class Testt{
	public static void main(String[] args) {
		
		double x1,y1,x2,y2;
		Scanner scanner=new Scanner(System.in);
		System.out.println("请输入第一个点的横纵坐标:");
		x1=scanner.nextDouble();
		y1=scanner.nextDouble();
		System.out.println("请输入第二个点的横纵坐标:");
		x2=scanner.nextDouble();
		y2=scanner.nextDouble();
		MyPoint p1=new MyPoint(x1, y1);//调用有参构造方法
		MyPoint p2=new MyPoint(x2, y2);//调用有参构造方法
		System.out.println("两点间的距离为:"+MyPoint.distance(p1, p2));//输出
		
	}
	
	
	
}

☆运行截图

posted @ 2019-09-21 12:34  刘明康20194682  阅读(130)  评论(0编辑  收藏  举报