Java第6次作业--static关键字、对象
一、题目1
编写一个类Computer,类中含有一个求n的阶乘的方法。将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决定),并将结果输出。
二、代码
package cn;//包 import java.util.Scanner;//引入java.util.*下的包,导入scanner类 import com.Computer;//引入com包,导入computer类 public class App {//App类 /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Computer com=new Computer();//创建Computer对象 Scanner reader=new Scanner(System.in);//键盘输入数据 System.out.println("输入一个数:"); int n=reader.nextInt();//从键盘获取输入值 System.out.println(n+"的阶乘为:"+com.getSum(n));//输出阶乘结果 } }
package com;//包 public class Computer {//创建一个computer类 static int sum=1; //设置一个静态变量sum public int getSum(int n){//创建一个求n阶乘的方法 if(n==1){ //如果求1的阶乘 return sum; //返回n的阶乘1 } sum*=n; //求n的阶乘 return getSum(n-1); } }
三、运行结果
一、题目2
设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:
- 两个私有成员变量x和y表示坐标值;
- 成员变量x和y的访问器和修改器
- 无参构造方法创建点(0,0);
- 一个有参构造方法,根据参数指定坐标创建一个点;
- distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。
编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。
二、代码
package cs;//包 import css.MyPoint;//引入css包,导入MyPoint类 import java.util.Scanner;//引入java.util.*下的包,导入scanner类 public class Test {//Test类 /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc=new Scanner(System.in);////输入数据 System.out.println("请输入p1点横坐标:"); int x1=sc.nextInt();//获取输入值 System.out.println("请输入p1点纵坐标:"); int y1=sc.nextInt();//获取输入值 System.out.println("请输入p2点横坐标:"); int x2=sc.nextInt();//获取输入值 System.out.println("请输入p点纵坐标:"); int y2=sc.nextInt();//获取输入值 MyPoint p1=new MyPoint(x1,y1);//创建第一个MyPoint对象p1 MyPoint p2=new MyPoint(x2,y2);//创建第二个MyPoint对象p2 double dis= MyPoint.distance(p1, p2);//调用MyPoint对象计算两点之间的距离 } }
package css;//包 public class MyPoint { private int x;//创建私有成员变量x private int y;//创建私有的成员变量y public MyPoint() {//无参构造方法创建点(0,0) x=0; y=0; } public MyPoint(int x,int y){//有参构造方法 this.x=x; this.y=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; } public static double distance(MyPoint p1,MyPoint p2){ double dis=Math.sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y)); System.out.println("两点之见的距离是"+dis); return dis;//返回两点间的距离 } }
三、运行结果