第七次作业--访问权限、对象使用
一、题目一
1、 在作业5的基础上,再创建一个柱体类,包含矩形对象、高和体积等三个成员变量,一个构造方法进行成员变量初始化,和计算体积、换底两个功能方法,在主类中输入长、宽、高,计算柱体体积,输入新的长、宽、高,创建新的矩形对象,并利用换底方法换底,再次计算柱体体积。
二、源代码
R.java
class R { // 创建矩行类 int longs, width, area, zhouchang;//变量longs, width, area, zhouchang int areas(int longs, int width) { // 创建面积的方法 area = longs * width;//面积=长*宽 return area;//返回面积值 } int perime(int longs, int width) { // 创建周长的方法 zhouchang = (longs + width) * 2;//周长=(长+宽)*2 return zhouchang;//返回周长 } }
TiJi.java
public class Tiji {//创建一个TiJi类 R A = new R();//创建R类的A对象 int height;//一个height变量 public void setheight(int height) {//对高进行初始化 this.height = height; } public int getheight() {//访问器 return height; } int getV(int area, int height) {//计算体积 int V = area * height; return V; } }
yi.java
import java.util.*; public class yi {//创建一个yi类 public static void main(String[] args) {//主方法 Scanner reader = new Scanner(System.in);//创建一个接受键盘输入的对象reader;然后用一个类型的变量接收reader.方法(),可以从键盘给程序变量赋值 System.out.println("请输入矩阵的长、宽、高:");//输出“请输入矩阵的长、宽、高:” int x = reader.nextInt();//输入长 int y = reader.nextInt();//输入宽 int h = reader.nextInt();//输入高 R ju = new R();//创建R类的ju对象 Tiji tj = new Tiji();//创建TiJi类的tj对象 System.out.println("该矩形的周长:" + ju.perime(x, y));//输出“该矩形的周长:” System.out.println("该矩形的体积为" + tj.getV(ju.areas(x, y), h));//输出“该矩形的体积为” System.out.println("换底面积");//输出“换底面积” int x1 = reader.nextInt();//输入新的长 int y1 = reader.nextInt();//输入新的宽 int h1 = reader.nextInt();//输入新的高 System.out.println("该矩形的周长:" + ju.perime(x1, y1));//输出“该矩形的周长:” System.out.println("该矩形的体积为" + tj.getV(ju.areas(x1, y1), h1));//输出“该矩形的体积为” } }
三、运行结果

一、题目二
2、设计名为MyInteger的类,它包括: int型数据域value 一个构造方法,当指定int值时,创建MyInteger对象 数据域value的访问器和修改器 isEven( )和isOdd( )方法,如果当前对象是偶数或奇数,返回true 类方法isPrime(MyInteger i),判断指定的值是否为素数,返回true 在主类中创建MyInteger对象,验证MyInteger类中各方法。
源代码:
Main.java
import java.util.Scanner;//引入java中util包下的Scanner类 public class Main {//创建一个Main类 public static void main(String[] args) {//主方法 MyInteger my = new MyInteger();// System.out.println("请输入一个数");//输出“请输入一个数” Scanner sc = new Scanner(System.in);//为对象sc开辟一块新的内存空间并创建对象为Scanner类 int x = sc.nextInt(); my.setValue(x); System.out.println("这个数是偶数 " + my.isEven(x));//输出“这个数是偶数 ” System.out.println("这个数是奇数 " + my.isOdd(x));//输出“这个数是奇数” System.out.println("这个数是素数 " + my.isPrime(my));//输出“这个数是素数 ” } }
MyInteger.java
public class MyInteger {//创建一个MyInteger类 int value; //成员变量value public int getValue() {//访问器 return value; } public void setValue(int value) {//修改器 this.value = value; } boolean isEven(int n) {//构建方法看输入的数是否为偶数 if (value % 2 == 0) return true; else return false; } boolean isOdd(int n) {//构建方法看输入的数是否为奇数 if (value % 2 == 0) return false; else return true; } boolean isPrime(MyInteger i) {//构建方法看输入的数是否为素数 int my; for (my = 2; my < i.value; my++) { if (i.value % my == 0) { return false; } } return true; } }
运行结果:


浙公网安备 33010602011771号