第七次作业——访问权限、对象使用

题目一:

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

 

 1、代码实现:

    (1)主类——mian类:包含两个对象
/**
 * 主类mian类中只含有一个主方法——main方法
 *主方法中 创建了两个对象,分别是rectangle类的sun对象和Zhu类的shuai方法
 *
 *利用sun方法将输入的长和宽两个值分别赋给rectangle类中的成员变量longs和width
 *利用shuai方法将输入的柱形高的值赋给Zhu类中的成员变量tall
 *调用bulkV方法求出柱体的体积
 *
 *将输入的新长值和新宽值通过shuai对象赋给Zhu类中的change方法,用来修改长值和宽值
 *将输入的新高值,利用shuai方法赋给Zhu类中的成员变量tall的修改器setTall(),以此改变成员变量tall的值
 *调用bulkV方法求出新柱体的体积
 */

package lei;
import java.util.*;

public class mian {


    public static void main(String[] args) {
        @SuppressWarnings("resource")
        Scanner reader=new Scanner(System.in);
        
        rectangle sun=new rectangle();//创建rectangle类的sun对象
        sun.longs=reader.nextDouble();//输入底的长,利用sun对象赋给rectangle类中的longs值
        sun.width=reader.nextDouble();//输入低的宽,利用sun对象赋给rectangle类中的width值
    
        double tall=reader.nextDouble();//输入柱形的高
        Zhu shuai=new Zhu(tall, sun);//创建Zhu类的shuai对象
        shuai.bulkV(sun);//调用求体积方法bulkV方法
         
        
        double a=reader.nextDouble();//输入新长值
        double b=reader.nextDouble();//输入新宽值
        shuai.change(a,b);//修改长值和宽值
        
        double h=reader.nextDouble();//输新入高值
        shuai.setTall(h);//修改高值
        shuai.bulkV(sun);//调用求体积方法bulkV方法
        
    }

}
   
   (2)矩形类——rectangle类:包含四个double型成员变量、两个成员变量的访问器和修改器、一个有参返回值为double型的方法
/**
 * 创建了一个矩形类rectangle类
 * 四个double型成员变量
 * 分别为成员变量longs、width创建了访问器和修改器
 * 创建了计算矩形面积的有参、返回值为double型的方法——areas方法
 */

package lei;

//创建矩行类
public class rectangle {

        
        double longs,width,area,perimeter;
        //创建longs的访问器和修改器
        public double getLongs() {
            return longs;
        }
        public void setLongs(double longs) {  
            this.longs=longs;
        }
        
        //创建width的访问器和修改器
        public double getWidth() {        
            return width;
        }
        public void setWidth(double width) {    
            this.width=width;
        }
        
        
        double areas(double longs,double width) {    //创建计算面积的方法
            area=longs*width;
            return area;
        }
        
        
    }
  
  (3)Zhu类:包含三个成员变量、一个成员变量的访问器和修改器、一个构造方法、两个方法
/**
 * 创建了一个zhu类
 * 两个double型成员变量tall、bulk和一个rectangle类型的成员变量 sun
 *创建了成员变量tall的访问器和修改器
 *创建了一个构造方法进行长远变量的初始化
 *创建了一个无返回值的bulk方法计算柱体的体积
 *创建一个无返回值的change方法实现换底的功能
 */
package lei;

public class Zhu {
    double tall;//
    double bulk;//体积
    rectangle sun;//矩形对象
    
    //tall的访问器和修改器
    public double getTall() {        
        return tall;
    }
    public void setTall(double tall) {        
        this.tall=tall;
    }
    
    //创建一个构造方法进行成员变量的初始化
    Zhu(double tall,rectangle bian){
        this.tall=tall;
        this.sun=bian;
    }
    
    
    //创建一个bulkV方法,计算柱体的体积
     void bulkV(rectangle sun) {
        bulk=tall*sun.areas(sun.longs ,sun.width);
        System.out.println("该柱体的体积是:"+bulk);
    }
    
    //创建一个change方法实现换底的功能
     void change(double width,double longs){
            this.sun.width=width;
            this.sun.longs=longs;
          
        }
     
    

}

 

 2、测试运行:

题目二:

   设计名为MyInteger的类,它包括: int型数据域value 一个构造方法,当指定int值时,创建MyInteger对象 数据域value的访问器和修改器 isEven( )和isOdd( )方法,如果当前对象是偶数或奇数,返回true 类方法isPrime(MyInteger i),判断指定的值是否为素数,返回true 在主类中创建MyInteger对象,验证MyInteger类中各方法。

 

 1、代码实现:

    MyInteger类:包含一个成员变量、成员变量的访问器和修改器、三个方法
/**
 * 定义一个MyInteger类
 * 定义一个成员变量value,为value构访问器和修改器
 * 用isEven方法判断是否为偶数
 * 用isOdd方法判断是否为奇数
 * 用isPrime方法判断是否为质数
 */

package Seven_two;
import java.util.*;

public class MyInteger {
        int value;
        //访问器和修改器
        public int getValue() {
                return value;
        }
        public void setValue(int value) {
            this.value=value;
        }
        
        static boolean isEven(int value){    //isEven方法用来判断是否为偶数
            if(value%2==0) {
                return true;
            }else {
            return false;
            }
        }
        static boolean isOdd(int value) {    //isOdd方法判断是否为奇数
            if(value%2!=0) {
                return true;
            }else {
                return false;
            }
        }
        static boolean isPrime(int value) {        //isPrime判断是否为质数
            for(int i=2;i<value;i++) {
                if(value%i==0) {    
                    return false;
                }    
            if(i+1==value) {
                return true;
                }
            }
            return false;
        }
        
}
    
    Text类:包含一个主类,一个主方法,一个MyInteger类的对象
/**
 * 输入一个数,将此数赋给int value
 * 创建一个MyIteger类的方法——sun方法
 * 利用sun方法将value分别赋给isEven方法、isOdd方法、isOrime方法
 */
package Seven_two;
import java.util.*;
public class Text {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

         System.out.println("请输入一个数");
            @SuppressWarnings("resource")
            Scanner deara = new Scanner(System.in);
            int value = deara.nextInt();
            MyInteger sun=new MyInteger();//创建一个MyInteger类的方法——sun方法
            System.out.println("是否为偶数"+ sun.isEven(value));

            System.out.println("是否为奇数" +sun.isOdd(value));
            
            System.out.println("是否为质数" +sun.isPrime(value));  
    }

}

  

  2、测试运行

原文地址:https://www.cnblogs.com/sunshuaiqun/p/11567865.html