题目1:
在作业5的基础上,再创建一个柱体类,包含矩形对象、高和体积等三个成员变量,一个构造方法进行成员变量初始化,和计算体积、换底两个功能方法,在主类中输入长、宽、高,计算柱体体积,输入新的长、宽、高,创建新的矩形对象,并利用换底方法换底,再次计算柱体体积。
源代码:
Rec.java
package com.hou; import java.util.Scanner; /** * 定义一个矩形类 * 分别定义构造方法,求面积方法,求周长方法 * @author ASUS * */ class Rec {// 定义矩形类 public double a;// 成员变量a,b,area,girth public double b; public double area; public double girth; public Rec(double a, double b) {// 定义有参构造方法 this.a = a; this.b = b; } public double getArea() {//求面积的成员方法 area = a * b; return area; } public double getGirth() {//求周长的成员方法 girth = 2 * (a + b); return girth; } }
Cylinder.java
package com.hou; /** * 定义一个柱体类 * 分别定义一个构造方法 * 两个成员方法getVolume(),changeArea() * @author ASUS * */ class Cylinder {// 定义柱体类 public Rec r;// 定义成员变量r,height,volume public double height; public double volume; public Cylinder(Rec r, double height) {// 有参构造方法 this.r = r; this.height = height; } public double getVolume() {// 定义成员方法,求体积getVolume() volume = r.getArea() * height; return volume; } public void changeArea(Rec r) { this.r = r; } }
Test99.java
package com.hou; import java.util.*;//引入java.util包 public class Test99 { public static void main(String[] args) {// 定义主方法 double a; //变量a,b,height,volume double b; double height; double volume; Scanner reader = new Scanner(System.in);//创建Scanner对象 reader System.out.println("***请您分别输入柱体的长,宽,高:"); a = reader.nextDouble(); b = reader.nextDouble(); height = reader.nextDouble(); Rec Rec = new Rec(a, b);// 定义矩形类 Cylinder Cylinder = new Cylinder(Rec, height);// 定义柱体类 System.out.println("***第一次得出柱体的体积是:" + Cylinder.getVolume()); System.out.println("***请您输入要更换的长和宽:"); a = reader.nextDouble(); b = reader.nextDouble(); Rec = new Rec(a, b);// 矩形类重新换底a,b Cylinder.changeArea(Rec); System.out.println("***换底后柱体的体积变为:" + Cylinder.getVolume()); } }
程序运行截图:
题目2:
设计名为MyInteger的类,它包括: int型数据域value 一个构造方法,当指定int值时,创建MyInteger对象 数据域value的访问器和修改器 isEven( )和isOdd( )方法,如果当前对象是偶数或奇数,返回true 类方法isPrime(MyInteger i),判断指定的值是否为素数,返回true 在主类中创建MyInteger对象,验证MyInteger类中各方法。
源代码:
MyInteger.java
package com.hou; /** * 定义MyInteger类 * 定义一个整型成员变量, * 定义一个构造方法初始化成员变量,一个访问器,一个修改器, * 定义一个判断偶数isEven()方法 * 定义一个判断偶数isOdd()方法奇 * 定义一个判断是否为素数isPrime()的方法 * @author ASUS * */ class MyInteger { public int value; public MyInteger(int value) {// 构造有参构造方法 this.value = value; } public int getValue() {// 构造访问器 return value; } public void setValue(int value) {// 构造修改器 this.value = value; } public boolean isEven() {// 判断是否为偶数 if (this.value % 2 == 0) return true; else return false; } public boolean isOdd() {// 判断是否为奇数 if (this.value % 2 == 1) return true; else return false; } public static boolean isPrime(MyInteger i) {// 判断是否为素数 for (int k = 3; k < i.value; k++) if (i.getValue() % k == 0) return false; return true; } }
Test88.java
package com.hou; import java.util.*; /** * 在主类中创建MyInteger对象 * 验证MyInteger类中各方法 * @author ASUS * */ public class Test88 { public static void main(String[] args) { Scanner reader=new Scanner(System.in); System.out.println("***请输入一个数(判断其是奇数还是偶数):"); int value = reader.nextInt(); MyInteger myInteger=new MyInteger(value);//测试构造方法 System.out.println("***您输入的这个数为"+myInteger.getValue());//测试getValue方法 if(myInteger.isEven())// System.out.println(myInteger.value+"是一个偶数"); if(myInteger.isOdd())//测试isOdd方法 System.out.println(myInteger.value+"是一个奇数"); System.out.println("***请再输入一个数(判断其是是否是素数):"); value=reader.nextInt(); myInteger.setValue(value);//测试setValue方法 if(myInteger.isPrime(myInteger))//测试isPrime方法 System.out.println(myInteger.value+"是一个素数"); } }