pta上面有Java的题吗_有没有大三的计院大佬,JAVA PTA上这道题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

第二章编程题的第二题,我已经能按照他的要求输出结果了,但就是不让过,能看一下我的代码是怎么回事吗

import java.util.Scanner;

interface Shape{

float getArea();//求面积

float getPerimeter();//求周长

}

class C implements Shape{

private float r;

C(float r){

this.r = r;

}

@Override

public float getArea() {

return (float) (3.14*r*r);

}

@Override

public float getPerimeter() {

return (float)(2*3.14*r);

}

public String toString(){

return String.valueOf(getArea())+" "+String.valueOf(getPerimeter());

}

}

class R implements Shape{

private float l,w;

R(float l, float w){

this.l = l;

this.w = w;

}

@Override

public float getArea() {

return (float)(l*w);

}

@Override

public float getPerimeter() {

return (float)(l+l+w+w);

}

public String toString(){

return String.valueOf(getArea())+" "+String.valueOf(getPerimeter());

}

}

public class Main {

public static void main(String[] args){

Scanner in = new Scanner(System.in);

int n = in.nextInt();

String[] str = new String[n];

for(int i = 0; i < n; i++){

int type = in.nextInt();

switch (type){

case 2:

R r = new R(Float.parseFloat(in.next()),Float.parseFloat(in.next()));

str[i] = String.format("%.2f %.2f",r.getArea(),r.getPerimeter());

break;

case 1:

C c = new C(in.nextFloat());

str[i] = String.format("%.2f %.2f",c.getArea(),c.getPerimeter());

}

}

for(int i = 0;i <=n-1;i++)

if(i!=(n-1))

System.out.println(str[i]);

else

System.out.print(str[i]);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值