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