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

  1. 题目一

    1. 题目

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

    2. 源程序

      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 }

       

    3. 运行结果

       

    题目二

    1. 题目

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

      • 两个私有成员变量x和y表示坐标值;

      • 成员变量x和y的访问器和修改器

      • 无参构造方法创建点(0,0);

      • 一个有参构造方法,根据参数指定坐标创建一个点;

      • distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。

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

    2. 源程序

      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 }

       

    3. 运行结果

       

 

posted @ 2019-09-18 17:20  张博涵  阅读(152)  评论(0)    收藏  举报