第6次作业--static关键字、对象
-
-
题目
编写一个类Computer,类中含有一个求n的阶乘的方法。将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决定),并将结果输出。
-
源程序
App.java
1 /** 2 * 1.文件功能:输入变量调用Comouter类求阶乘 3 * 2.成员变量:b输入整数 4 * 3.方法:主方法 5 */ 6 import f.Computer; 7 import java.util.*; 8 public class App { 9 10 public static void main(String[] args) { 11 12 System.out.println("输入一个整数"); 13 14 Scanner in = new Scanner(System.in); 15 int n = in.nextInt(); 16 17 Computer b = new Computer(); 18 int num = b.fac(n); 19 20 System.out.println(num); 21 } 22 23 }
Computer.java
1 /** 2 * 1.文件功能:输入变量返回变量的阶乘 3 * 2.成员变量:sum保存阶乘 4 * 3.方法:Computer类求阶乘并返回 5 */ 6 package f; 7 public class Computer { 8 public int sum = 1; 9 public int fac(int x) { 10 for(int i=1;i<x;i++) { 11 sum *=(i+1); 12 } 13 return sum; 14 } 15 }
-
运行结果

题目二
-
题目
设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:
-
两个私有成员变量x和y表示坐标值;
-
成员变量x和y的访问器和修改器
-
无参构造方法创建点(0,0);
-
一个有参构造方法,根据参数指定坐标创建一个点;
-
distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。
编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。
-
-
源程序
Test.java
1 /** 2 * 1.文件功能:输入两个求两个点的距离 3 * 2.变量:x_1 y_1 点一xy值 x_2 y_2 点二xy值 4 * 3.方法:主方法 5 */ 6 import java.util.*; 7 public class Test { 8 9 public static void main(String[] args) { 10 MyPoint point_1 = new MyPoint(); 11 MyPoint point_2 = new MyPoint(); 12 13 Scanner in = new Scanner(System.in); 14 15 System.out.println("请输入第一个点的x,y值"); 16 double x_1 = in.nextDouble(); 17 double y_1 = in.nextDouble(); 18 point_1.setX(x_1); 19 point_1.setY(y_1); 20 21 System.out.println("请输入第二个点的x,y值"); 22 double x_2 = in.nextDouble(); 23 double y_2 = in.nextDouble(); 24 point_2.setX(x_2); 25 point_2.setY(y_2); 26 27 System.out.print("两点间距离是"+MyPoint.distance(point_1,point_2)); 28 } 29 30 }
MyPoint.java
1 /** 2 * 1.文件功能:创建一个类,返回两点间距离 3 * 2.变量:x y储存点位置 4 * 3.方法:distance求两点间距离 5 */ 6 public class MyPoint { 7 private double x; 8 private double y; 9 10 public double getX() { 11 return x; 12 } 13 public void setX(double x) { 14 this.x = x; 15 } 16 17 public double getY() { 18 return y; 19 } 20 public void setY(double y) { 21 this.y = y; 22 } 23 24 MyPoint() { 25 x = 0; 26 y = 0; 27 } 28 29 MyPoint(double x,double y){ 30 setX(x); 31 setY(y); 32 } 33 34 static double distance(MyPoint point_1,MyPoint point_2) { 35 return Math.sqrt((point_1.x - point_2.x)*(point_1.x - point_2.x) + (point_1.y - point_2.y)*(point_1.y - point_2.y)); 36 } 37 }
-
运行结果

-


浙公网安备 33010602011771号