该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
第二章编程题的第二题,我已经能按照他的要求输出结果了,但就是不让过,能看一下我的代码是怎么回事吗
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]);
}
}