zoukankan      html  css  js  c++  java
  • 第6次作业--static关键字、对象

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

    代码及注释

    1.JieCheng包内

    package JieCheng;           //打包
    
    public class Computer {      //创建Computer类
    
     public int getSum(int n){        //创建求阶乘和方法
    	 int k=1,sum=0;              //定义变量,并初始化
    	 for(int i=1;i<=n;i++)
    	 {
    		 k*=i;
    		 sum+=k;               //循环求阶乘
    	 } 
    	 return sum;                //返回sum值
     }       
    }
    

    2.ChenHong包内

    package ChenHong;        //打包
    import JieCheng.Computer;    //引入阶乘包
    import java.util.Scanner;          //引入输入包
    public class App {                  //创建App主类
    
    	public static void main(String[] args) {      //创建主方法
    		Computer c=new Computer();         //创建对象c
    		Scanner r=new Scanner(System.in);     
    		System.out.println("请选择输入1到几的阶乘和:");    //输出
    		int n;
    		n=r.nextInt();      //从键盘获取输入数
    		System.out.println("阶乘和为"+c.getSum(n));     //输出
    	}
    }
    

    程序运行结果

    题目2:设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:两个私有成员变量x和y表示坐标值;成员变量x和y的访问器和修改器无参构造方法创建点(0,0);一个有参构造方法,根据参数指定坐标创建一个点;distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。

    代码及注释

    1.MyPoint类

    package ChenHong;              //打包            
    public class MyPoint {            //创建MyPoint类
    		private double x;
    		private double y;       //定义私有成员变量x,y
    		public double getX() {      //设置x,y的访问器和修改器
    			return x;
    		}
    		public void setX(double x) {
    			this.x = x;
    		}
    		public double getY() {
    			return y;
    		}
    		public void setY(double y) {
    			this.y = y;
    		}                              
    		MyPoint(){          //创建无参构造方法,定义(0,0)
    	        x=0;
    	        y=0;
    		}
    		 MyPoint(double x,double y){      //创建有参构造方法,根据参数指定坐标创建一个点
    		        this.x=x;
    		        this.y=y;
    		        }
    		 static double distance(MyPoint p1,MyPoint p2){    //定义distance方法,求两点间距离
    		        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));          //返回
    		}
    }
    

    2.Test主类

    package ChenHong;           //打包
    import java.util.Scanner;       //引用输入包
    public class Test {                 //创建主类Test
    
    	public static void main(String[] args) {         //定义主方法
    		double x1,x2,y1,y2;                             //定义变量
    		Scanner r=new Scanner(System.in);      //从键盘获取输入坐标
    		System.out.println("请输入第一个点横纵坐标:");       //输出提示
    		x1=r.nextDouble();
    		y1=r.nextDouble();
    		System.out.println("请输入第二个点横纵坐标:");
    		x2=r.nextDouble();
    		y2=r.nextDouble();
    		MyPoint p1=new MyPoint(x1,x2);           //创建对象p1,p2
    		MyPoint p2=new MyPoint(y1,y2);
    		System.out.println("这两个点之间的距离为:"+p1.distance( p1, p2));       //通过对象p1调用distance方法求p1,p2两点间距离
    	}
    }
    

    程序运行结果

  • 相关阅读:
    Code Forces Gym 100886J Sockets(二分)
    CSU 1092 Barricade
    CodeChef Mahesh and his lost array
    CodeChef Gcd Queries
    CodeChef GCD2
    CodeChef Sereja and LCM(矩阵快速幂)
    CodeChef Sereja and GCD
    CodeChef Little Elephant and Balance
    CodeChef Count Substrings
    hdu 4001 To Miss Our Children Time( sort + DP )
  • 原文地址:https://www.cnblogs.com/ctt886/p/11562539.html
Copyright © 2011-2022 走看看