前提・実現したいこと
ランダムに表示させた文の後に何回目に表示されているかをCount変数を使って表示させたいです。
発生している問題・エラーメッセージ
どこにカウンタの変数を入れ、その後にどうやって表示させるかがわからない
該当のソースコード
Java
1import java.util.Random; 2 3public class Shapes { 4 public static void main(String[] args) { 5 6 7 Triangle t1 = new Triangle(); 8 Triangle t2 = new Triangle(20,30); 9 System.out.println(t1.toString()); 10 System.out.println(t2.toString()); 11 12 Circle c1 = new Circle(); 13 Circle c2 = new Circle(20,0); 14 System.out.println(c1.toString()); 15 System.out.println(c2.toString()); 16 17 18 19 int n= 4; 20 Shape [] shapes = new Shape [n]; 21 22 Shape f1; 23 f1=c1; 24 for (int i=0; i<n; i++) { 25 26 27 Random rand = new Random(); 28 int x=rand.nextInt(2)+1; int y=rand.nextInt(2)+1; 29 30 31 if(x%2==0&&y%2==0) { 32 f1=t1; 33 34 35 }else if(x%2==0&&y%2!=0){ 36 f1 = t2; 37 38 }else if(x%2!=0&&y%2==0){ 39 f1 = c1; 40 41 }else if(x%2!=0&&y%2!=0){ 42 f1=c2; 43 } 44 shapes[i] = f1; 45 } 46 for (int i1=0; i1<n; i1++) { 47 System.out.println(shapes[i1].toString()); 48 49 } 50 } 51 } 52 53public class Triangle extends Shape { 54 private double width; 55 private double height; 56 // コンストラクタ 57 Triangle() { 58 this.width = 20; 59 this.height = 10; 60 super.id = "Triangle"; 61 } 62 Triangle(double w, double h) { 63 this(); 64 this.setSize(w, h); 65 } 66 // アクセスメソッド 67 void setWidth(double w) { 68 width = w; 69 } 70 void setHeight(double h) { 71 height = h; 72 } 73 void setSize(double w, double h) { 74 setWidth(w); 75 setHeight(h); 76 } 77 double getWidth() { 78 return this.width; 79 } 80 double getHeight() { 81 return this.height; 82 } 83 @Override 84 double getArea() { 85 return (area = (width * height)/2); 86 } 87} 88 89public class Circle extends Shape{ 90 private double width; 91 private double height; 92 // コンストラクタ 93 Circle() { 94 this.width = 20; 95 this.height = 10; 96 super.id = "Circle"; 97 } 98 Circle(double w, double h) { 99 this(); 100 this.setSize(w, h); 101 } 102 // アクセスメソッド 103 void setWidth(double w) { 104 width = w; 105 } 106 void setHeight(double h) { 107 height = h; 108 } 109 void setSize(double w, double h) { 110 setWidth(w); 111 setHeight(h); 112 } 113 double getWidth() { 114 return this.width; 115 } 116 double getHeight() { 117 return this.height; 118 } 119 @Override 120 double getArea() { 121 return (area = width * width*3.14); 122 } 123} 124 125public abstract class Shape { 126 protected double area; 127 String id = ""; 128 abstract double getArea(); 129 @Override // toString() とは,オブジェクトを文字列にするメソッドとして存在する 130 public String toString() { 131 double a = getArea(); 132 String s = new java.text.DecimalFormat("0.0").format(a); 133 return ( id +". "+s ); 134 } 135} 136 137public class Counter { 138 private int count = 0; 139 // コンストラクタ 140 public void reset(){ 141 count = 0; 142 } 143 // カウント 144 public void count(){ 145 count++; 146 } 147 // 値の取得 148 public int getCount(){ 149 return count; 150 } 151}
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
例えば
Triangle.300.0.1番目に表示されました
Triangle.300.0.2番目に表示されました
Circle.1256.0.3番目に表示されました
Circle.1256.0.4番目に表示されました
のように表示させたいです
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。