7-6 java 类的设计 (10 分)

7-6 java 类的设计 (10 分)

请设计一个矩形类 class Rectangle,类中定义两个int型变量,记录长和宽,定义3个赋值函数:setW(int w),setH(int h),setWH(int w,int h)用于长和宽的赋值,长和宽>0时返回true,否则返回false;定义一个函数求矩形的面积Area()并输出,若3个赋值函数赋值失败,则输出“error”;

主函数如下:


import java.util.Scanner;
public class Main
{
    public static void main(String[] args)     
    {    
        Rectangle rect=new Rectangle();        
        int w=0;        
        int h=0;        
        Scanner in=new Scanner(System.in);        
        w=in.nextInt();        
        h=in.nextInt();        
        boolean b=rect.setWH(w,h);        
        int d_Area=0;        
        if(b==true)        
        {        
            d_Area=rect.Area();            
            System.out.println(d_Area);            
        }        
        else        
        {        
            System.out.println("error");            
        }        
        b=rect.setW(w);        
        boolean b2=rect.setH(h);        
        d_Area=0;        
        if(b==true&&b2==true)        
        {        
            d_Area=rect.Area();            
            System.out.println(d_Area);            
        }        
        else        
        {        
            System.out.println("error");            
        }        
    }    
}

输入格式:
输入两个整数代表宽和长,如2 3

输出格式:
分两次调用setW(int w),setH(int h),setWH(int w,int h),两次调用Area(),得到两个相同的结果,如 6 6

输入样例:
2 3
输出样例:
6
6
输入样例:
-2 3
输出样例:
error
error


import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Rectangle rect=new Rectangle();
        int w=0;
        int h=0;
        Scanner in=new Scanner(System.in);
        w=in.nextInt();
        h=in.nextInt();
        boolean b=rect.setWH(w,h);
        int d_Area=0;
        if(b==true)
        {
            d_Area=rect.Area();
            System.out.println(d_Area);
        }
        else
        {
            System.out.println("error");
        }
        b=rect.setW(w);
        boolean b2=rect.setH(h);
        d_Area=0;
        if(b==true&&b2==true)
        {
            d_Area=rect.Area();
            System.out.println(d_Area);
        }
        else
        {
            System.out.println("error");
        }
    }
}
class Rectangle{
    private int wide;
    private int high;

    public boolean setW(int w) {
        if(w>=0){
            this.wide=w;
            return true;
        }
        else {
            return false;
        }
    }

    public boolean setH(int h) {
        if (h>=0){
            this.high = h;
            return true;
        }
        else{
            return false;
        }
    }
    public boolean setWH(int w,int h){
        if(h>=0&&w>=0){
            this.high=h;
            this.wide=w;
            return true;
        }
        else{
            return false;
        }
    }

    public int Area() {
        return this.wide*this.high;
    }
}

本题目用布尔类型,是要用Boolean来判断w和h的值是否满足条件如果满足条件就会输出
return true
否则输出
rerurn false

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值