59歳の初転職

59歳 初転職で派遣社員になる

職業訓練 43日目 JAVA

isakurad2

スターバックの開店時刻直後ぐらいに入店するのですが、

新商品、グッズの発売日には 結構な行列になります。

注文待ちしなくてよいように調整しているのだけど。


みなさんタンブラーリボンを買ってたみたい。

 まだあったので買えばよかったかな。



スターバックス福袋は落選だった。



職業訓練 JAVA

 例外処理




生成AI課題


 課題内容:図形管理システム

要件

  1. 抽象クラス Shape
    • フィールド:name(図形名)
    • コンストラクタ:引数1つで初期化
    • 抽象メソッド:area()(面積を返す), perimeter()(周囲長を返す)
    • 共通メソッド:printInfo() → 図形の情報を表示
  2. サブクラス
    • Circle(円):半径を持ち、面積と周囲長を計算
    • Rectangle(長方形):幅と高さを持ち、面積と周囲長を計算
    • Triangle(三角形):底辺と高さを持ち、面積を計算(周囲長は仮に底辺×3とする簡易版)
  3. ArrayList の利用
    • ShapeManager クラスで ArrayList を保持
    • addShape(Shape s) で追加
    • showAllShapes() で全図形の情報を表示
    • totalArea() で全図形の面積合計を計算
  4. Main クラス



  • 複数の図形を作成し、ShapeManager に追加
  • 全図形の情報を表示し、面積合計を出力


import java.util.ArrayList;


public abstract class Shape {

private String name;

public Shape(String name) {

this.name = name;

}

public String getName() {

return name;

}

public abstract double area() ;

public abstract double perimeter();

public void printInfo() {

System.out.println("図形:" + name + ",面積:" + area() + ",周囲長:" + perimeter());

}

}


class Circle extends Shape {

private double radius;

public Circle(String name,double radius) {

super(name);

this.radius = radius;

}

public double area() {

return Math.PI * radius * radius;

}

public double perimeter() {

return 2 * Math.PI * radius;

}

}


class Rectangle extends Shape{

private double width;

private double height;

public Rectangle(String name,double width,double height) {

super(name);

this.width = width;

this.height = height;

}

public double area() {

return width * height;

}

public double perimeter() {

return 2 * ( width + height);

}

}


class Triangle extends Shape{

private double base;

private double height;

public Triangle(String name , double base , double height) {

super(name);

this.base = base;

this.height = height;

}

public double area() {

return (base * height)/2;

}

public double perimeter() {

return base * 3 ; //便宜的に正三角形

}

}

class ShapeManager{

private ArrayList<Shape> shapes = new ArrayList<>();

public void addShape(Shape s) {

shapes.add(s);

}

public void showAllShape() {

System.out.println("===登録された図形一覧===");

for (Shape s : shapes) {

s.printInfo();

}

}


public double totalArea() {

double sum = 0;

for (Shape s : shapes) {

sum += s.area();

}

return sum;

}

}


public class Main{

public static void main(String[] args) {

ShapeManager manager = new ShapeManager();

manager.addShape(new Circle("円1",5));

manager.addShape(new Rectangle("長方形1",4,6));

manager.addShape(new Triangle("三角形1",3,4));

manager.showAllShape();

System.out.println();

System.out.println("全図形の面積合計:" + manager.totalArea());

}

}


43日目/113日間