Java work6 作业20194648
一、题目1
编写一个类Computer,类中含有一个求n的阶乘的方法。将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决定),并将结果输出。
//写一个可求n的阶乘的类
package compute;//打包 public class Computer {//创建一个类 int sum=1;//定义一个整型变量 public int getJC(int n){ for(int a=1;a<=n;a++){//for循环语句 sum =sum*a; } return sum;//返回 }
package Keyi;//打包
import compute.*;//导入包
import java.util.Scanner;//引入
public class App {
/**
* @param args
*/
public static void main(String[] args) {//主方法
// TODO Auto-generated method stub
Computer com=new Computer();//创建对象b
Scanner reader=new Scanner(System.in);//从键盘输入数据
System.out.print("请输入一个整数");//提示键盘输入
int a=reader.nextInt();//读取数据
System.out.print("你输入的数的阶乘为:"+compute.getJC(a));//输出结果
}
}
请输入一个整数5 你输入的数的阶乘为:120
题目二:
设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:
- 两个私有成员变量x和y表示坐标值;
- 成员变量x和y的访问器和修改器
- 无参构造方法创建点(0,0);
- 一个有参构造方法,根据参数指定坐标创建一个点;
- distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。
编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。
代码:
1.Test.java
/** * 主类 * 接收坐标,创建对象,调用distance方法 */ package com; import java.util.Scanner; public class Test { public static void main(String[] args) { double x1,y1,x2,y2; //定义坐标; System.out.print("第一个点坐标:"); Scanner reader = new Scanner(System.in); x1 = reader.nextDouble(); y1 = reader.nextDouble(); System.out.print("第二个点坐标:"); x2 = reader.nextDouble(); y2 = reader.nextDouble(); Mypoint q1 = new Mypoint(x1, y1); //创建对象; Mypoint q2 = new Mypoint(x2, y2); //创建对象; System.out.print("距离是"+Mypoint.distance(q1, q2)); } }
2.Mypoint.java
/** * 计算两点间距离 */ package com; public class Mypoint { private double x; private double y; public double getX(){ //访问器 return x; } public void setX(int x){ //修改器 this.x = x; } public double getY(){ return y; } public void setY(int y){ this.y = y; } Mypoint(){ //无参构造方法 x = 0; y = 0; } Mypoint(double x2, double y2){ //有参构造方法 this.x = x2; this.y = y2; } static double distance(Mypoint p1, Mypoint p2){ //计算距离 double x1 = p1.getX(); double x2 = p2.getX(); double y1 = p1.getX(); double y2 = p2.getX(); return Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)); } }


浙公网安备 33010602011771号