亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

課后作業,不知道這樣的功能行不行

父類:

package Duotai;

public abstract class Shape {
?public abstract void perimeter(double x,double y);
?public abstract void perimeter(double r);
?public abstract void area(double x,double y);
?public abstract void area(double r);
}

矩形:

package Duotai;

public class Rectangle extends Shape {

?
?@Override
?public void perimeter(double x, double y) {
??// TODO Auto-generated method stub
??double peri=2*x*y;
??System.out.println("矩形的周長為:"+peri);
?}

?@Override
?public void perimeter(double r) {
??// TODO Auto-generated method stub
??
?}

?@Override
?public void area(double x, double y) {
??// TODO Auto-generated method stub
??double area=x*y;
??System.out.println("矩形的面積為:"+area);
?}

?@Override
?public void area(double r) {
??// TODO Auto-generated method stub
??
?}

}

圓形:

package Duotai;

public class Circle extends Shape {

?@Override
?public void perimeter(double x, double y) {
??// TODO Auto-generated method stub
??
?}

?@Override
?public void perimeter(double r) {
??// TODO Auto-generated method stub
??double pi=3.14;
??double peri=2*pi*r;
??System.out.println("圓形的周長為:"+peri);
?}

?@Override
?public void area(double x, double y) {
??// TODO Auto-generated method stub
??
?}

?@Override
?public void area(double r) {
??// TODO Auto-generated method stub
??double pi=3.14;
??double area=pi*r*r;
??System.out.println("圓形的面積為:"+area);
?}

}

測試類:

package Duotai;
import java.util.Scanner;
public class Initail03 {

?public static void main(String[] args) {
??// TODO Auto-generated method stub
??calculate();
?}
??public static void calculate(){
??Shape Rec1=new Rectangle();
??Shape Cir1=new Circle();
??Scanner input=new Scanner(System.in);//創建Scanner對象
??System.out.println("請輸入圖形:");
??String shape=input.next();
?
?
??switch(shape){
???case "rectangle":
???System.out.println("請輸入矩形的長:");
???double length=input.nextDouble();
???System.out.println("請輸入矩形的寬:");
???double width=input.nextDouble();
???Rec1.perimeter(length,width);
???Rec1.area(length,width);
?????
???break;
???
???case "circle":
???System.out.println("請輸入圓形的半徑:");
???double radius=input.nextDouble();
???Cir1.perimeter(radius);
???Cir1.area(radius);
???
???break;
???
???default:
????System.out.println("輸入有誤,請輸入正確圖形");
????calculate();
????
??}
?}?
?

}


正在回答

2 回答

看上去沒問題,但是你的rectangle的周長是不是算錯了?

1 回復 有任何疑惑可以回復我~
#1

侃扛 提問者

確實是?應該是x加y,謝謝哈,不過輸出圓形的面積小數有很多位,不知道怎么解決,請問你知道嗎?
2017-07-08 回復 有任何疑惑可以回復我~
#2

Nicco_ 回復 侃扛 提問者

可以用這種形式: double c =2.5689565; System.out.println(String.format("%.2f", c));
2017-07-12 回復 有任何疑惑可以回復我~
#3

侃扛 提問者 回復 Nicco_

好的,謝謝哈?
2017-07-12 回復 有任何疑惑可以回復我~

太復雜了,而且沒有文本或者讓其他注釋,后期檢查就是渣渣

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531221    人
  • 解答問題       6327    個

課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙

進入課程

課后作業,不知道這樣的功能行不行

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號