题目1:
编写一个类Computer,类中含有一个求n的阶乘的方法。将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决定),并将结果输出。
源代码:
1.Computer.java
package util_01;
/**
* 定义一个公有的Computer类 里面包含一个公有的factorial方法
* 将类打包在util_01中
* @author ASUS
*
*/
public class Computer { //定义公有类Computer
public int factorial(int n) { //定义一个公有方法factorial,并定义形参为整形类型的 n
int number = 1; //阶乘的初值为1
for (int i = 1; i <= n; i++) { //for循环求阶乘
number *= i;
}
return number;
}
}
2.Test.java
package com.hou;
import util_01.Computer;
import java.util.*;
/**
* 实现输入一个正整数并求其阶乘
* 需要导入util_01.Computer的包 将它打包在com.hou中
* @author ASUS
*
*/
public class Test { // 定义一个公有类名字是Test
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);// 创建Scanner的对象
Computer computer = new Computer(); // 创建computer的对象
System.out.println("Please enter a positive integer:");
int n = reader.nextInt(); //调用Scanner类中的nextInt方法
System.out.println(n + "'s factorial is:" + computer.factorial(n));
// 调用Computer类中的factorial方法
}
}
程序运行截图
题目2:
设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:
两个私有成员变量x和y表示坐标值;
成员变量x和y的访问器和修改器
无参构造方法创建点(0,0);
一个有参构造方法,根据参数指定坐标创建一个点;
distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。
编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。
源代码:
1.MyPoint .java
package com.hou;
import java.util.*;
/**
* 建立一个MyPoint类;
* 定义x坐标和y坐标的点
* 并且求两个点的之间的距离
* @author ASUS
*
*/
public class MyPoint {
private double x;// 定义私有成员变量x,y
private double y;
public double getX() {// 创建访问器getX
return x;
}
public void setX(double x) {// 创建修改器setX
this.x = x;
}
public double getY() {// 创建访问器getY
return y;
}
public void setY(double y) {// 创建修改器setY
this.y = y;
}
private void Mypoint() {// 创建构造方法
x = 0.0;
y = 0.0;
}
public MyPoint(double x, double y) {// 创建有参x,y构造方法
this.x = x;
this.y = y;
}
public static double dis(MyPoint p1, MyPoint p2) {// 创建公有类方法dis
return Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y));
}
}
2.Test.java
/**
* Test主类
* 输入两个坐标并且计算两个坐标之间的距离dis
* @author ASUS
*
*/
class Test{
public static void main(String[] args) {
double x1,y1,x2,y2;
Scanner reader=new Scanner(System.in);
System.out.println("Please enter x and y of the first point:");
x1=reader.nextDouble();
y1=reader.nextDouble();
System.out.println("Please enter the x and y of the second point:");
x2=reader.nextDouble();
y2=reader.nextDouble();
MyPoint p1=new MyPoint(x1, y1);//调用有参构造方法
MyPoint p2=new MyPoint(x2, y2);//调用有参构造方法
System.out.println("The distance between x and y is:"+MyPoint.dis(p1, p2));//输出
}
}