访问权限,对象使用

 第一题:

需求分析 :在作业5的基础上,再创建一个柱体类,包含矩形对象、高和体积等三个成员变量,一个构造方法进行成员变量初始化,和计算体积、换底两个功能方法,在主类中输入长、宽、高,计算柱体体积,输入新的长、宽、高,创建新的矩形对象,并利用换底方法换底,再次计算柱体体积。

代码

package abd;建一个abd

import java.util.Scanner;引入Scanner

建一个叫zhuti的类成员变量有矩形高面积

public class zhuTi {
private tri juxing;
private double high;
private double vol;

建一个zhuti的构造方法
public zhuTi(tri juxing, double high) {

this.juxing = juxing;
this.high = high;

}

求柱体面积
public double volCalc(){
double voli=juxing.getArea()*high;
return voli;
}

换底后的构造方法
public void changDi(double longth,double width){
juxing.longth=longth;
juxing.width=width;
}
主方法输入长宽高
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入长:");
float longth = sc.nextFloat();

System.out.println("请输入宽:");
float width = sc.nextFloat();
tri juxing = new tri(longth, width);
System.out.println("请输入高:");
double high = sc.nextFloat();

建一个方法输出柱体面积
zhuTi zt=new zhuTi(juxing, high);
System.out.println("柱体的面积是:"+zt.volCalc());

输入新的长和宽

System.out.println("请输入新的长:");
float longth1=sc.nextInt();
System.out.println("请输入新的宽:");
float width1=sc.nextInt();
zhuTi nzt=new zhuTi(juxing, high);
nzt.changDi(longth1, width1);

换底之后的面积
System.out.println("换底之后柱体的面积是:"+zt.volCalc());
}

}

 测试运行

第二题

需求分析

设计名为MyInteger的类,它包括: int型数据域value 一个构造方法,当指定int值时,

  创建MyInteger对象 数据域value的访问器和修改器 isEven( )和isOdd( )方法,如果当前对象是偶数或奇数,返回true

  类方法isPrime(MyInteger i),判断指定的值是否为素数,返回true 在主类中创建MyInteger对象,验证MyInteger类中各方法。

代码

package abd;建一个abd包

建一个Myinteger类一个value的成员变量
public class MyInteger {
private int []value;
public MyInteger(int n) {
value=new int[]{n};
}

建一个getValue的方法
public int[] getValue() {
return value;
}

建一个构造方法
public void setValue(int[] value) {
this.value = value;
}

建一个布尔值isEven方法
public boolean isEven(){
if(value[0]%2==0)
return true;
else
return false;
}

建一个布尔值isOdd方法
public boolean isOdd(){
if(value[0]%2==1)
return true;
else
return false;
}

public boolean isPrime(MyInteger My){
int n=My.value[0];
if(n<2){
return false;
}
for(int i=2;i*i<=n;i++){
if(n%i==0){
return false;
}
}
return true;
}

主方法
public static void main(String[] args) {
//调用有参构造方法
MyInteger y=new MyInteger(3);
System.out.println( "是不是奇数:"+y.isOdd());
System.out.println( "是不是偶数:"+y.isEven());
System.out.println("是不是素数:"+y.isPrime(y));
//测试 set/get
int []a=new int[]{4};
y.setValue(a);
a=y.getValue();
for (int i = 0; i < a.length; i++) {
System.out.println("新域有"+a[i]);
}
}
}

测试运行

猜你喜欢

转载自www.cnblogs.com/wusi1/p/11568604.html