面向对象 (2)n的阶乘与两点距离
题目1:编写一个类Computer,类中含有一个求n的阶乘的方法。 将该类打包, 并在另一包中的Java文件App.java中引入包, 在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决定), 并将结果输出。
一、源程序
1、Computer.java
/**计算n得阶乘 * 包含一个computer类 一个factorial方法 */ package w18d;//将该类打包 public class Computer { public int factorial(int n){ int r=1;//变量i用于存储阶乘结果 for(int i=1;i<=n;i++){//循环累乘求阶乘结果 r*=i; } return r;//返回结果值 } }
2、App.java
/**从键盘获取n值 调用方法 输出阶乘值 * 包含一个App类 一个主方法 */ package w18; import java.util.Scanner; import w18d.*;//Java文件App.java中引入包 public class App { public static void main(String[] args) { Computer num = new Computer();// 在主类中定义Computer类的对象 Scanner reader = new Scanner(System.in);//从键盘获取n值 System.out.println("请输入n");//输入提示 int n = reader.nextInt();//存储n值 System.out.println("n的阶乘为"+num.factorial(n));//调用求n的阶乘的方法(n值由参数决定)将结果输出 } }
二、成功界面截图
题目2:设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:两个私有成员变量x和y表示坐标值;成员变量x和y的访问器和修改器无参构造方法创建点(0,0); 一个有参构造方法,根据参数指定坐标创建一个点;distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。
一、源程序
Test.java
/**计算两个点之间的距离 * 包含两个类 八个方法 */ package w18t; import java.math.*; import java.util.Scanner; class MyPoint{//包含七个方法 两个成员变量 private double x;//两个私有成员变量x和y表示坐标值 private double y; public double getX() {//成员变量x和y的访问器 return x; } public double getY() { return y; } public void setX(double x) {//成员变量x和y的修改器 this.x = x; } 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 a,MyPoint b){//返回参数为MyPoint类型的两个点对象之间的距离 return Math.sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)); } } public class Test { public static void main(String[] args) { MyPoint a = new MyPoint();//创建两个点对象 MyPoint b = new MyPoint(); Scanner reader = new Scanner(System.in);//获取两点坐标 System.out.println("请输入两点坐标"); a.setX(reader.nextInt()); a.setY(reader.nextInt()); b.setX(reader.nextInt()); b.setY(reader.nextInt()); System.out.println("两点间距离为"+MyPoint.distance(a, b));//利用distance()方法计算这两个点之间的距离 } }
二、成功界面截图
posted on 2019-09-18 11:27 wangxiangyue 阅读(444) 评论(0) 编辑 收藏 举报