前提・実現したいこと
学校で「パッケージfiglibに含まれているCircleクラス・Squareクラスと、パッケージfigに含まれているCalcFigureクラスを用いて、円と正方形の面積を表示するプログラムである。実行例のように動作するCalcFigure.javaを完成させなさい。」という課題が出題されました。
発生している問題・エラーメッセージ
クラスメゾットを利用しない方法で代入となっていた。
CalcFigureクラスのdouble r = cl.getRadius(); double a = cl.getArea(); double l = sq.getLength();
a = sq.getArea(); の部分がクラスメソッドを利用しない方法で円の半径をrに代入になっていたようです。
Circle
java
1package figlib; 2 3public class Circle{ 4 private static double radius; 5 public Circle(double r){ 6 radius = r; 7 } 8 public static double getRadius(){ 9 return radius; 10 } 11 public static double getArea(){ 12 return Math.PI*radius*radius; 13 } 14}
Square
java
1package figlib; 2 3public class Square{ 4 private static double length; 5 public Square(double l){ 6 length = l; 7 } 8 public static double getLength(){ 9 return length; 10 } 11 public static double getArea(){ 12 return length*length; 13 } 14}
CalcFigure
java
1package fig; 2 3class CalcFigure{ 4 public static void main(String[] args){ 5 figlib.Circle cl = new figlib.Circle(2.0); 6 figlib.Square sq = new figlib.Square(4.0); 7 8 double r = cl.getRadius(); 9 double a = cl.getArea(); 10 System.out.println("半径"+r+"の円の面積:"+a); 11 12 double l = sq.getLength(); 13 a = sq.getArea(); 14 System.out.println("1辺の長さ"+l+"の正方形の面積:"+a); 15 } 16}
実行例
半径 2.0 の円の面積:12.566370614359172
1 辺の長さ 4.0 の正方形の面積:16.0
あなたの回答
tips
プレビュー