第6次作业--static关键字、对象
作业1:编写一个类Computer,类中含有一个求n的阶乘的方法。将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决定),并将结果输出。
一、源程序:
1、Computer.java
package tym;//创建一个包,包名是tym public class Computer {//创建一个公有的类Computer int sum=1;//定义sum变量为数值型,并赋初值1 public int getSum(int x) {//公有的带参访问器 for(int i=1;i<x+1;i++) {//循环从1开始到输入的数值i结束循环 sum=sum*i;//通过sum不断累乘输入之前的值获取阶乘值 } return sum;//把计算得到的sum值返回给主方法 } } /** 1、该Computer类中包含整型变量i和变量sum、x,方法就是应用了一个 for循环语句,i的初值为1;再判断i是否小于x+1的值;是的话就i++; 通过sum不断累乘输入之前的值获取阶乘值;最后返回sum的值给主方法 2、成员变量sum,作用:描述事物公共属性 3、构造方法:computer,作用:对象的创建,完成对象的初始化 */
2、App.java
/** 创建一个包,包名是tao 引入java中util包下的Scanner类 引入tym包下的Computer类 一个公有类App 公有的无返回值静态主方法 为对象a开辟一块新的内存空间并创建为Computer类 为对象reader开辟一块新的内存空间并创建对象为Scanner类 将变量reader所指代的Scanner类下的nextInt方法赋值给变量b 输出语句并调用变量a所指代的Computer类下的getSum方法 */ package tao; import java.util.Scanner; import tym.Computer; public class App { public static void main(String[] args) { System.out.println("请输入一个数字"); Computer a=new Computer(); Scanner reader=new Scanner(System.in); int b=reader.nextInt(); System.out.println("阶乘是"+a.getSum(b)); } }
二、运算结果

作业2:设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:
- 两个私有成员变量x和y表示坐标值;
- 成员变量x和y的访问器和修改器
- 无参构造方法创建点(0,0);
- 一个有参构造方法,根据参数指定坐标创建一个点;
- distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。
编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。
一、源程序
1、myPoint.java
package aaa;//创建aaa包 public class myPoint {//创建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 d=Math.sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y)); System.out.println("两点之见的距离是:"+d);//输出“两点之见的距离是:” return d;//返回两点间的距离 } }
2、Ming.java
package cs;//创建一个cs包 import aaa.myPoint;//引入aaa包下,导入myPoint类 import java.util.Scanner;//引入java.util.*下的包,导入scanner类 public class Ming {//创建一个Ming类 public static void main(String[] args) { Scanner sc=new Scanner(System.in);////输入坐标数据 System.out.println("请输入p1点横坐标:");//输出“请输入p1点横坐标:” int x1=sc.nextInt();//获取输入值 System.out.println("请输入p1点纵坐标:");//输出“请输入p1点纵坐标:” int y1=sc.nextInt();//获取输入值 System.out.println("请输入p2点横坐标:");//输出“请输入p2点横坐标:” int x2=sc.nextInt();//获取输入值 System.out.println("请输入p点纵坐标:");//输出“请输入p点纵坐标:” int y2=sc.nextInt();//获取输入值 myPoint p1=new myPoint(x1,y1);//创建第一个myPoint坐标对象p1 myPoint p2=new myPoint(x2,y2);//创建第二个myPoint坐标对象p2 double d= myPoint.distance(p1, p2);//调用myPoint对象计算两点之间的距离 } }
3、运行结果


浙公网安备 33010602011771号