第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两点间距离
	}
}

程序运行结果

原文地址:https://www.cnblogs.com/ctt886/p/11562539.html