Java第七次作业
2017-11-12 00:00
495 查看
抽象类:
package java_1111;
public abstract class Shape {
private String name;
Shape(){
}
Shape(String name){
this.name=name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
abstract void display();
}
具体类:
package java_1111;
public class Circle extends Shape{
private double radius;
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
Circle(){
}
Circle(double radius){
this.radius=radius;
}
void display(){
System.out.println("该图形是一个半径为"+radius+"的圆");
}
}
package java_1111;
public class Rectangle extends Shape{
private double width,height;
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
Rectangle(){
}
Rectangle(double width,double height){
this.width=width;
this.height=height;
}
void display(){
System.out.println("该图形是一个长为"+height+"宽为0"+width+"的长方形");
}
}
package java_1111;
public class Square extends Shape{
double length;
public double getLength() {
return length;
}
public void setLength(double length) {
this.length = length;
}
Square(){
}
Square(double length){
this.length=length;
}
void display(){
System.out.println("该图形是一个边长为"+length+"的正方形");
}
}
测试:
package java_1111;
import java.util.Scanner;
public class TestShape {
static Shape getShape(int i){
switch(i){
case 0:{
Scanner input=new Scanner(System.in);
System.out.println("请输入圆形的半径:");
double x=input.nextDouble();
Shape c=new Circle(x);
return c;}
case 1:{
Scanner input1=new Scanner(System.in);
System.out.println("请输入长方形的长:");
double x=input1.nextDouble();
System.out.println("请输入长方形的宽:");
double y=input1.nextDouble();
Shape r=new Rectangle(y,x);
return r;}
case 2:{
Scanner input1=new Scanner(System.in);
System.out.println("请输入正方形的边长:");
double x=input1.nextDouble();
Shape s=new Square(x);
return s;}
default:
return null;
}
}
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
boolean flag=false;
while(flag==false){
System.out.println("请输入选项(0,1,2):");
int i=input.nextInt();
if(i>=0 & i<=2){
getShape(i).display();
flag=true;
}
else{
System.out.println("输入值错误");
}
}
}
}
以上为第七次作业。
package java_1111;
public abstract class Shape {
private String name;
Shape(){
}
Shape(String name){
this.name=name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
abstract void display();
}
具体类:
package java_1111;
public class Circle extends Shape{
private double radius;
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
Circle(){
}
Circle(double radius){
this.radius=radius;
}
void display(){
System.out.println("该图形是一个半径为"+radius+"的圆");
}
}
package java_1111;
public class Rectangle extends Shape{
private double width,height;
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
Rectangle(){
}
Rectangle(double width,double height){
this.width=width;
this.height=height;
}
void display(){
System.out.println("该图形是一个长为"+height+"宽为0"+width+"的长方形");
}
}
package java_1111;
public class Square extends Shape{
double length;
public double getLength() {
return length;
}
public void setLength(double length) {
this.length = length;
}
Square(){
}
Square(double length){
this.length=length;
}
void display(){
System.out.println("该图形是一个边长为"+length+"的正方形");
}
}
测试:
package java_1111;
import java.util.Scanner;
public class TestShape {
static Shape getShape(int i){
switch(i){
case 0:{
Scanner input=new Scanner(System.in);
System.out.println("请输入圆形的半径:");
double x=input.nextDouble();
Shape c=new Circle(x);
return c;}
case 1:{
Scanner input1=new Scanner(System.in);
System.out.println("请输入长方形的长:");
double x=input1.nextDouble();
System.out.println("请输入长方形的宽:");
double y=input1.nextDouble();
Shape r=new Rectangle(y,x);
return r;}
case 2:{
Scanner input1=new Scanner(System.in);
System.out.println("请输入正方形的边长:");
double x=input1.nextDouble();
Shape s=new Square(x);
return s;}
default:
return null;
}
}
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
boolean flag=false;
while(flag==false){
System.out.println("请输入选项(0,1,2):");
int i=input.nextInt();
if(i>=0 & i<=2){
getShape(i).display();
flag=true;
}
else{
System.out.println("输入值错误");
}
}
}
}
以上为第七次作业。