package package01;
import java.util.Scanner;
public class Circular extends Graph {
@SuppressWarnings("resource")
public void zhouchang() {
Scanner input=new Scanner(System.in);
System.out.println("请输入圆的半径");
int r=input.nextInt();
System.out.println("圆的周长为:"+(3.14*r));
}
@SuppressWarnings("resource")
public void mianji() {
Scanner input=new Scanner(System.in);
System.out.println("请输入圆的半径");
int r=input.nextInt();
System.out.println("圆的面积为:"+(2*3.14*r));
}
}
package imooc;
import java.util.Scanner;
public class Circle extends Shape {
Scanner input=new Scanner(System.in);
int r=input.nextInt();
@Override
public void Girth() {
// TODO Auto-generated method stub
System.out.println("圆形周长为:"+2*3.14*r);
}
@Override
public void Area() {
// TODO Auto-generated method stub
System.out.println("圆形面积为:"+3.14*r*r);
}
}
把输入放于类中,而不是方法中,这样两个方法都可以使用这个全局变量,在矩形中也同样,主函数代码如下:
package imooc;
public class Initial {
public static void main(String[] args) {
// TODO Auto-generated method stub
Shape t1 = new Rectangle();
//Shape t2 = new Circle();
t1.Girth();
t1.Area();
Shape t2 = new Circle();
t2.Girth();
t2.Area();
}
}
运行结果如图:
为什么我这样输不行呢,不让我println,说是 <identifier> expected,没搞懂什么意思。把print这行注视掉又可以了。为什么呢?
这个和上面那个兄弟差不多,治标不治本,的确是一次性输出了周长和面积,但是这只是完成了圆的Sa()方法,那之后得再实现一次圆的Ca()方法,控制台才能跳到矩形的方法上,辛苦了 谢谢哈
可以的
public void zhouchang() {
Scanner input=new Scanner(System.in);
System.out.println("请输入圆的半径");
int r=input.nextInt();
System.out.println("圆的周长为:"+(3.14*r));
System.out.println("圆的面积为:"+(2*3.14*r));
}