第6次作业--static关键字、对象

题目一

  1、需求

    编写一个类Computer,类中含有一个求n的阶乘的方法。将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决定),并将结果输出。

  2、源代码

  ①

 

 1 /**
 2 computer.java
 3 ①一个类,一个方法
 4 ②变量x为App包中传的参数;i为循环变量;y为自定义变量,用来累计阶乘
 5 ③构造方法ccc用来计算传入参数的阶乘
 6 */
 7 package comp;//创建包
 8 public class computer {//生成computer类
 9     int x;
10     public int ccc(int x){//构造方法
11         int y=1;
12         for(int i=1;i<=x;i++)
13             y=y*i;
14         return(y);//求出阶乘并返回值
15     }
16     
17 }

 

  ②

 1 /**
 2 App.java
 3 ①一个类,一个主方法
 4 ②变量n为输入的整数
 5 ③方法中定义computer类的对象
 6 */
 7 package qqq;
 8 import comp.computer;//导入comp包
 9 import java.util.Scanner;
10 
11 public class App {
12 
13     /**
14      * @param args
15      */
16     public static void main(String[] args) {//主方法
17         // TODO Auto-generated method stub
18         System.out.println("输入一个整数:");
19         Scanner reader=new Scanner(System.in);//创建Scanner对象
20         int n=reader.nextInt();//输入整数赋给n
21         computer a=new computer();//定义computer类的对象
22         System.out.println("该数的阶乘为:"+a.ccc(n));//输出阶乘
23     }
24 
25 }

  3、运行结果

 

 

 题目二

   1、需求

  设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:

  • 两个私有成员变量x和y表示坐标值;
  • 成员变量x和y的访问器和修改器
  • 无参构造方法创建点(0,0);
  • 一个有参构造方法,根据参数指定坐标创建一个点;
  • distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。

        编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。

  2、源代码

 1 /**
 2 test.java  中有test类和主方法,变量x1,x2,y1,y2用来输入坐标值
 3 Mypoint.java中有Mypoint类
 4 Mypoint中有访问器getX()和修改器setX()
 5 distance方法传回求两点的距离
 6 */
 7 package hhh;
 8 import java.util.*;
 9 
10 public class test {
11 
12     /**
13      * @param args
14      */
15     public static void main(String[] args) {
16         Scanner reader=new Scanner(System.in);
17         System.out.println("输入一个点坐标:");
18         double x1=reader.nextDouble();
19         double y1=reader.nextDouble();
20         System.out.println("输入另一个点坐标:");
21         double x2=reader.nextDouble();
22         double y2=reader.nextDouble();
23         Mypoint p1=new Mypoint();
24         Mypoint p2=new Mypoint();
25         p1.setX(x1);
26         p2.setX(x2);
27         p1.setY(y1);
28         p2.setX(y2);
29         System.out.println("两点间的距离为:"+Mypoint.distance(p1,p2));
30     }
31 
32 }
33 /**
34 
35 */
36 package hhh;
37 public class Mypoint {
38     double x;
39     double y;
40     public double getX() {
41         return x;
42     }
43     public void setX(double x) {
44         this.x = x;
45     }
46     public double getY() {
47         return y;
48     }
49     public void setY(double y) {
50         this.y = y;
51     }
52     
53 
54 static double distance(Mypoint p1,Mypoint p2){
55     double x1 = p1.getX();
56     double x2 = p2.getX();
57     double y1 = p1.getY();
58     double y2 = p2.getY();
59     return Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
60 }
61 }

  3、运行结果

 

 

posted on 2019-09-21 22:32  龙卷风摧毁停车场·  阅读(173)  评论(0编辑  收藏  举报