7-1 正方形类
分数 25
全屏浏览
切换布局
作者 ami
单位 临沂大学
定义一个正方形类square,在次类中包括写内容:
- 定义成员变量边长private int edge;
- 定义方法:包括构造方法,setter getter方法,求面积方法等,要求如下所示:
- 定义正方形类的构造方法:在构造方法中给edge赋值为2,并添加System.out.println("this is constructor method");
- 为成员变量edge设置set方法,用来接收用户给edge的值,如果用户给的值<=0,则设置edge值为1
- 为成员变量edge设置get方法,用来返回edge的值
- 完成求面积方法,得到正方形的面积:public int getArea()
定义类Main,并在main方法中, 1.首先创建正方形对象s1,然后通过getEdge()方法输出edge的值,然后调用getArea方法求出s1的面积并输出
2.创建正方形对象s2,并通过键盘输入s2对象的边的值,然后通过getEdge()方法输出edge的值,然后调用getArea方法求出s1的面积并输出
输入格式:
输入在一行中给出边的值。
输出格式:
输出s1对象的边、输出s1对象的面积
输出s2对象的边、s2对象的面积
输入样例:
在这里给出一组输入。例如:
3
-5
答案:两种方法
方法一:由于输出案列S1都是一样的,所以可以直接在构造方法中直接输出S1,然后在创建类S2进行调用方法来输出。
import java.util.Scanner;
public class Main{
public static void main(String args[]){
int edge;
Scanner shuru=new Scanner(System.in);
square s2=new square();//创建对象 类名+对象名字。
edge=shuru.nextInt();//从键盘输入实参
s2.setEdge( edge);
int m=s2.getEdge();
int n=s2.getArea();
System.out.println("s2:edge="+m);
System.out.println("s2:area="+n);
}
}
class square{
private int edge;
square(){
System.out.println("this is constructor method");
System.out.println("s1:edge=2");
System.out.println("s1:area=4");
System.out.println("this is constructor method");
}
void setEdge(int edge){//this.edge表示类中的成员变量private int edge;
if(edge<=0){
this.edge=1;
}
else{this.edge=edge;}//edge表示实参传入的变量。
}
int getEdge(){
return this.edge;
}
public int getArea(){
this.edge=edge;
int result=edge*this.edge;
return result;
}
}
方法二:
import java.util.Scanner;
public class Main{
public static void main(String args[]){
int edge;
Scanner shuru=new Scanner(System.in);
square s1=new square();
s1.setEdge(2);//由于题目没说s1需要从键盘输入所以由案列直接把2传入即可。
int p=s1.getEdge();
int w=s1.getArea();
System.out.println("s1:edge="+p);
System.out.println("s1:area="+w);
square s2=new square();
edge=shuru.nextInt();
s2.setEdge( edge);
int m=s2.getEdge();
int n=s2.getArea();
System.out.println("s2:edge="+m);
System.out.println("s2:area="+n);
}
}
class square{
private int edge;
square(){
System.out.println("this is constructor method");
}
void setEdge(int edge){
if(edge<=0){
this.edge=1;
}
else{this.edge=edge;}
}
int getEdge(){
return this.edge;
}
public int getArea(){
this.edge=edge;
int result=edge*this.edge;
return result;
}
}