题目一:
编写一个类Computer,类中含有一个求n的阶乘的方法。将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决定),并将结果输出。
Computer.java
1 package 李佳琦; 2 3 public class Computer { 4 5 public int jiecheng(int n){ //定义参数为n的方法 ,方法名字叫jiecheng 6 int count=1; 7 for (int i=1;i<=n;i++){ //利用for循环求参数n的阶乘 8 count *=i; 9 } 10 return count; //将阶乘值返回给jiecheng方法 11 12 13 } 14 }
App.java
1 package 李佳琦; 2 3 import java.util.Scanner; 4 5 public class App { 6 7 8 public static void main(String[] args) { 9 Computer c=new Computer(); //创建一个新对象c 10 System.out.println("请输入一个数:"); 11 Scanner reader=new Scanner(System.in); 12 int n=reader.nextInt(); 13 System.out.println(n+"的阶乘为:"+c.jiecheng(n));//调用c对象中的jiecheng方法,求n的阶乘 14 } 15 16 17 }
运行结果
题目二:
设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:
1.两个私有成员变量x和y表示坐标值;
2.成员变量x和y的访问器和修改器;
3.无参构造方法创建点(0,0);
4.一个有参构造方法,根据参数指定坐标创建一个点;
5.distance方法(static修饰)返回参数为MyPoint类型的两个对象之间的距离。
编写主类Test,在主类中输入两点坐标,创建两个对象,利用diatance()方法计算这两个点之间的距离。
MyPoint.java
1 package 李佳琦; 2 3 public class MyPoint { 4 private double x; //创建私有double型变量x,y 5 private double y; 6 public double getX() { //生成x和y的访问器和修改器 7 return x; 8 } 9 public void setX(double x) { 10 this.x = x; 11 } 12 public double getY() { 13 return y; 14 } 15 public void setY(double y) { 16 this.y = y; 17 } 18 MyPoint (){ //无参构造方法创建点(0,0) 19 double x=0; 20 double y=0; 21 } 22 public MyPoint(double x,double y){ //一个有参构造方法,根据参数指定坐标创建一个点 23 this.x=x; 24 this.y=y; 25 } 26 public static double Distance(MyPoint p1,MyPoint p2){ //创建Distance方法,返回参数为MyPoint类型的两个点对象之间的距离。 27 double x1=p1.getX(); 28 double x2=p2.getX(); 29 double y1=p1.getY(); 30 double y2=p2.getY(); 31 return Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); 32 } 33 34 35 }
Test.java
1 package 李佳琦; 2 3 import java.util.Scanner; 4 5 public class Test { 6 public static void main(String[] args) { 7 Scanner sc=new Scanner(System.in); 8 System.out.println("请输入第一个点的横纵坐标:"); 9 double a=sc.nextDouble(); //a和b接收键盘输入的第一个点的横纵坐标 10 double b=sc.nextDouble(); 11 System.out.println("请输入第二个点的横纵坐标:"); 12 double c=sc.nextDouble(); //c和d接收键盘输入的第二个点的横纵坐标 13 double d=sc.nextDouble(); 14 MyPoint p1=new MyPoint(a,b); //创建p1 p2对象 15 MyPoint p2=new MyPoint(c,d); 16 17 System.out.println("两点之间距离为:"+MyPoint.Distance(p1,p2));//调用MyPoint类中的Distance方法,以p1 p2为参数, 18 } 19 20 21 22 }
运行结果: