第6次作业--static关键字、对象
题目1:编写一个类Computer,类中含有一个求n的阶乘的方法。将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决定),并将结果输出。
package cn.ccut.HomeWork; import jiecheng.Computer; public class App { public static void main(String[] args) { Computer p=new Computer(); //定义一个名为p的Computer类型的对象 int n = 3 ; //n的值大于0 int jiecheng=p.JieCheng(n); //调用jiecheng方法 System.out.println("阶乘为"+jiecheng); } } package jiecheng; public class Computer { public int JieCheng(int x) { //构造一个名为Jiecheng的求阶乘的方法 int Jie=1; if(x>2) { for(int i=2;i<=x;i++) { Jie=Jie*i; } } return Jie; } }
题目2:
设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:
- 两个私有成员变量x和y表示坐标值;
- 成员变量x和y的访问器和修改器
- 无参构造方法创建点(0,0);
- 一个有参构造方法,根据参数指定坐标创建一个点;
- distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。
编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。
package src.project; public class point { int x;//两个int变量x、y int y; public int getX() {//x访问器 return x; } public void setX(int x) {//x修改器 this.x = x; } public int getY() {//y访问器 return y; } public void setY(int y) {//y修改器 this.y = y; } point(){ x=0; y=0;//构造方法 } double distance(point a,point b) {//计算两点距离的方法 double x1=a.getX(); double x2=b.getX(); double y1=a.getY(); double y2=b.getY(); return Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); } public static void main(String[] args) { } } package src.project; import java.util.Scanner; import src.project.point; public class test { public static void main(String[] args) { Scanner reader = new Scanner(System.in); System.out.println("请输入x,y的值"); point a=new point();//对象 a.setX(reader.nextInt());//修改x a.setY(reader.nextInt());//修改y point b=new point(); System.out.println("请输入第二个点x,y的值"); b.setX(reader.nextInt()); b.setY(reader.nextInt());//同上 System.out.println("两点距离为:"+b.distance(a, b));//打印距离 } }