• 第7次作业--访问权限、对象使用


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

    代码及注释:

    package Sum;
    import java.util.*;
    class Rect {
        double length;
        double width;
        double perimeter;
        double area;           //长宽面积周长成员变量
         Rect(double n, double k) {
            length = n;
            width = k;
        }                        //构造方法 将值赋给成员变量
        double area1() {
            area = length * width;
            return area;
        }                        //计算返回面积
        double perimeter1() {
            perimeter = 2 * (length + width);
            return perimeter;
        }                        //计算返回周长
    }
    class Prism{
        double area ;            //矩形面积
        double high;            //
        double volume;            //体积
        Prism(double a,double k){
            area = a;
            high = k;        
        }                        //创建构造方法 为变量赋值
        double volume1() {
            volume = area * high;
            return volume;
        }                        //创建方法计算体积 返回volume
        //修改器 修改体面积 和高
        void setarea(double area) {
            this.area = area;
        }
        void sethigh(double high) {
            this.high = high;
        }
        
        
    }
    public class Rectangle {
        public static void main(String[] args) {            //主方法
            // TODO Auto-generated method stub
            System.out.println("请输入矩形的长和宽:");
            Scanner reader = new Scanner(System.in);
            double num1 = reader.nextDouble();
            double num2 = reader.nextDouble();    
            Rect a = new Rect(num1, num2);            //创建对象传入值 num1,num2
            System.out.println("矩形的面积为:" + a.area1()); 
            System.out.println("矩形的周长为:" + a.perimeter1());
            System.out.println("请输入四棱柱高:");
            double num3 = reader.nextDouble();    
            Prism b = new Prism(a.area, num3);        //创建对象 将矩形面积和高传入volume1方法中
            System.out.println("四棱柱体积为:" + b.volume1());    //调用volume1方法 输出体积
            System.out.println("请输入更换的矩形的长和宽:");
            double num4 = reader.nextDouble();
            double num5 = reader.nextDouble();    
            Rect c = new Rect(num4, num5);                //创建对象将新的值传入Rect类中
            System.out.println("修改后的矩形的面积为:" + c.area1());        //调用area1计算新的面积
            System.out.println("请输入更换的四棱柱高:");
            double num6 = reader.nextDouble();    
            Prism d = new Prism(c.area, num6);                        //创建对象传入新的值
            System.out.println("修改后四棱柱体积为:" + d.volume1());        //调用volume计算体积
        }
    }

    运行结果:

    ********************************************************************************************************************************************

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

    代码及注释:

    package My;
    import java.util.*;
    class MyInteger{
        int value;                              //int型数据
        MyInteger(int k){
            value = k;                          //构造方法为Value赋值
            
        }
        //value访问器和修改器
        public int getValue() {
            return value;
        }
        public void setValue(int value) {
            this.value = value;
        }
        boolean  isEven() {                      //布尔型isEven方法判断该数是否为偶数
            return value%2==0;        
        }
        boolean isOdd() {
            return value%2==1;
        }                                      //布尔型isOdd方法判断该数是否为素数
        static boolean isPrime(MyInteger i) {        //布尔型类方法isPrime判断该数是否为素数
            boolean s = true;                        //定义一个布尔型的s变量赋值false
            for(int q=2;q<i.value;q++) {            //循环判断该数是都为素数
                if(i.value%q==0) {
                      s = false;
                }        
            }
            return s;
        }
    }
    
    public class Example {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            System.out.println("请输入需要判断的数:");
            Scanner reader = new Scanner(System.in);
            int num = reader.nextInt();            
            MyInteger s1 = new MyInteger(num);            //创建对象传入值num
            System.out.println("该数是否是偶数"+s1.isEven());
            System.out.println("该数是否是奇数"+s1.isOdd());
            System.out.println("该数是否是素数:"+s1.isPrime(s1));
    
        }
    
    }

    运行结果:

  • 相关阅读:
    Class的用途
    Flash网络编程安全沙箱问题隆重解决 (转)
    带参数的EventDispatcher
    Object的效率
    Oracle数据库语言修改成UTF8
    Python之字符串详解1
    初级/中级/高级运维,你是哪一级?
    这可能是php世界中最好的日志库——monolog
    vc程序大小优化最佳方案(转)http://blog.sina.com.cn/s/blog_4c50333c0100gjs3.html
    C# 调用lua 报错未能加载文件或程序集“lua51.dll”或它的某一个依赖项。找不到指定的模块。 解决方法
  • 原文地址:https://www.cnblogs.com/xushaohua/p/11562353.html
Copyright © 2020-2023  润新知