☆题目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));//输出
}
}