第6次作业--static关键字、对象
题目1:编写一个类Computer,类中含有一个求n的阶乘的方法。将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决定),并将结果输出。
1.代码
1 package QQQ; //创建一个包QQQ 2 3 4 public class Computer { 5 6 int s=1; 7 public int jc(int n){ //阶乘的方法 8 9 for(int i=1;i<=n;i++){ 10 s*=i; 11 12 } 13 return s; 14 } 15 }
package WWW; //创建包WWW import java.util.Scanner; import QQQ.Computer; //导入包QQQ的类Computer public class App { public static void main (String []args){ Computer c= new Computer(); //创建对象 Scanner reader = new Scanner(System.in); System.out.println("请输入n"); int n =reader.nextInt(); int m = c.jc(n); System.out.println(m); } }
2.输出结果
题目2:
设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:
-
两个私有成员变量x和y表示坐标值;
-
成员变量x和y的访问器和修改器
-
无参构造方法创建点(0,0);
-
一个有参构造方法,根据参数指定坐标创建一个点;
-
distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。
编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。
1.代码
package QQQ; //自己创建的包QQQ public class MyPoint { //类MyPoint double x; 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; } public MyPoint(){ x=0; y=0; } public MyPoint(double x,double y){ this.x=x; this.y=y; } public static double distance(MyPoint p1,MyPoint p2){ //带参的类方法 double x1 = p1.getX(); double x2 = p2.getX(); //赋初值 double y1 = p1.getY(); double y2 = p2.getY(); return Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); //计算两点之间距离的函数 } public static void main(String[] args) { // TODO Auto-generated method stub } }
1 import java.util.Scanner; 2 import QQQ.MyPoint; //导入QQQ包中的MyPoint类,以便引用类中的方法 3 4 public abstract class Test { //主类Test 5 6 7 public static void main(String[] args) { 8 Scanner reader =new Scanner(System.in); 9 System.out.println("请输入第一个横坐标的值"); 10 double x1=reader.nextDouble(); 11 System.out.println("请输入第一个纵坐标的值"); 12 double y1=reader.nextDouble(); 13 System.out.println("请输入第二个横坐标的值"); 14 double x2=reader.nextDouble(); 15 System.out.println("请输入第二个纵坐标的值"); 16 double y2=reader.nextDouble(); 17 MyPoint mp1=new MyPoint(x1,y1); //对象的声明创建 18 MyPoint mp2=new MyPoint(x2,y2); 19 20 x1=mp1.getX(); //引用MyPoint中的方法 21 x2=mp2.getX(); 22 y1=mp1.getX(); 23 y2=mp2.getY(); 24 double distance=mp2.distance(mp1,mp2); 25 System.out.println(distance); 26 } 27 28 }
2.输出结果