A 에 해당하는 코드

package My;

public interface Subject1 extends Observer1{
 public abstract void registerObserver(Observer1 o);
 public abstract void removeObserver(Observer1 o);
 public abstract void notifyObserver();
}


B에 해당하는 코드

package My;

public interface Observer1{
 public abstract void update(float temp,float humi,float press);
}


c에 해당하는 코드

package My;

public interface DisplayElement {
 public abstract void display();
}


a를 구현한 코드

package My;

import java.util.ArrayList;

public class WeatherData implements Subject1{
 ArrayList<Observer1> observers;
 
 public float temp ;
 public float humi ;
 public float press ;
 
 public WeatherData(){
  observers=new ArrayList<>();
 }

 
 @Override
 public void update(float temp,float humi,float press) {
  temp=this.temp;
  humi=this.humi;
  press=this.press;
 }
 
 @Override
 public void registerObserver(Observer1 o) {
  observers.add(o);
 }
 @Override
 public void removeObserver(Observer1 o) {
  int i = observers.indexOf(o);
  if(i>=0){
   observers.remove(i);
  }
 }
 @Override
 public void notifyObserver() {
  for (int i = 0; i < observers.size(); i++) {
   Observer1 observer = (Observer1)observers.get(i);
   observer.update(temp, humi, press);
  }
 };

 public void setMeasurements(float temp,float humi,float press){
 this.temp=temp;
 this.humi=humi;
 this.press=press;
 notifyObserver();
 }


 

 
}


b와 c를 구현한 코드

package My;

public class CurrentConditionsDisplay extends WeatherData implements Observer1,DisplayElement{
 float temp;
 float humi;
 float press;
 Subject1 weatherdata;
 
 public CurrentConditionsDisplay(WeatherData weatherdata){
  this.weather>&nbsp  this.weatherdata.registerObserver(this);
 }
 
 @Override
 public void update(float temp, float humi, float press) {
  this.temp=temp;
  this.humi=humi;
  this.press=press;
  display();
 }
 
 @Override
 public void display() {
  System.out.println("온도:"+temp+"\t"+"습도:"+humi+"\t"+"기압:"+press);
 }
 

}



main 코드

package My;

public class WeatherStation{

 public static void main(String[] args) {
  WeatherData weather WeatherData();
 
  CurrentConditionsDisplay currentDisplay =new CurrentConditionsDisplay(weatherData);

  weatherData.setMeasurements(80, 65, 30.4f);
  weatherData.setMeasurements(82, 70, 29.2f);
  weatherData.setMeasurements(78, 90, 29.2f);
 }
}

제발 님이라도 알려주세요 나머지 병신새끼들이 하도 지랄해서 멘탈나갈꺼같아요