Umrechnung Temperaturen C, R u. F

 

 

import java.awt.*;

import java.awt.event.*;

import java.applet.*;

import java.lang.Math;

public class temp1 extends Applet

{

  // private Klasse objekt;

  private Temperatur KesselTemp1;

  private Temperatur KesselTemp2;

 

  TextArea Kessel1 = new TextArea();

  TextArea Kessel2 = new TextArea();

  TextField EK1 = new TextField();

  TextField EK2 = new TextField();

  Button K1C = new Button();

  Button K1R = new Button();

  Button K1F = new Button();

  Button K2C = new Button();

  Button K2R = new Button();

  Button K2F = new Button();

  Label SKT1 = new Label();

  Label SKT2 = new Label();

  Label Sollwert = new Label();

 

  double getcelsius=0.0,getfahrenheit=0.0,getreaumur=0.0;

 

    public void init()

     { try

         {jbInit();}

            catch(Exception e)

         {e.printStackTrace();}

      }

 

    private void jbInit() throws Exception

      {

        this.setLayout(null);

        this.setBackground(Color.white);

 

    Kessel1.setBounds(new Rectangle(5, 100, 232, 191));

    Kessel1.setFont(new java.awt.Font("Dialog", 0, 14));

    Kessel2.setFont(new java.awt.Font("Dialog", 0, 14));

    Kessel2.setBounds(new Rectangle(298, 98, 232, 193));

    EK1.setText("");

    EK1.setBounds(new Rectangle(47, 340, 98, 36));

    EK2.setText("");

    EK2.setBounds(new Rectangle(359, 337, 98, 36));

    K1C.setLabel("C");

    K1C.setBounds(new Rectangle(43, 399, 33, 25));

    K1C.addActionListener(new temp1_K1C_actionAdapter(this));

    K1R.setBounds(new Rectangle(88, 399, 33, 25));

    K1R.addActionListener(new temp1_K1R_actionAdapter(this));

    K1R.setLabel("R");

    K1F.setLabel("F");

    K1F.setBounds(new Rectangle(137, 399, 33, 25));

    K1F.addActionListener(new temp1_K1F_actionAdapter(this));

    K2C.setBounds(new Rectangle(345, 400, 33, 25));

    K2C.addActionListener(new temp1_K2C_actionAdapter(this));

    K2C.setLabel("C");

    K2R.setLabel("R");

    K2R.setBounds(new Rectangle(390, 400, 33, 25));

    K2R.addActionListener(new temp1_K2R_actionAdapter(this));

    K2F.setBounds(new Rectangle(439, 400, 33, 25));

    K2F.addActionListener(new temp1_K2F_actionAdapter(this));

    K2F.setLabel("F");

    SKT1.setText("Setzen der Temperatur");

    SKT1.setBounds(new Rectangle(50, 314, 130, 15));

    SKT2.setBounds(new Rectangle(335, 313, 130, 15));

    SKT2.setText("Setzen der Temperatur");

    Sollwert.setFont(new java.awt.Font("Dialog", 0, 20));

    Sollwert.setText("Sollwert = 56°C +-4.99°C");

    Sollwert.setBounds(new Rectangle(155, 52, 253, 15));

    this.add(Kessel1, null);

    this.add(Kessel2, null);

    this.add(EK2, null);

    this.add(EK1, null);

    this.add(K1C, null);

    this.add(K1R, null);

    this.add(K1F, null);

    this.add(SKT1, null);

    this.add(SKT2, null);

    this.add(Sollwert, null);

    this.add(K2F, null);

    this.add(K2C, null);

    this.add(K2R, null);

 

        // objekt1 = new Klasse();

        KesselTemp1 = new Temperatur();

        KesselTemp2 = new Temperatur();

      }

 

       public void paint(Graphics g)

         {

           // g.drawImage(getImage (getDocumentBase(),"Name des Bildes"),x,y,Breite,Hoehe,this);

 

            verarbeiten();

         }

 

 

      private void verarbeiten()

      {

          // Anweisungen;

 

          Kessel1.setText("Kessel 1:\n");

          //Kessel1.append("\n\nText anhängen  ");

          Kessel2.setText("Kessel 2:\n");

          //Kessel2.append("\n\nText anhängen  ");

       }

 

  void K1C_actionPerformed(ActionEvent e) {

       getcelsius=Double.parseDouble(EK1.getText());

       Kessel1.append("\n in Celsius="+ getcelsius);

       KesselTemp1.setCelsius(getcelsius);

       Kessel1.append("\n in Fahrenheit="+ KesselTemp1.getFahrenheit());

       Kessel1.append("\n in Reaumur="+ KesselTemp1.getReaumur());

       if(KesselTemp1.hasSollwert()==true){

       Kessel1.append("\n\n im Sollwert !!\n\n\n");

       Kessel1.setBackground(Color.green);

       }

       else{

         Kessel1.setBackground(Color.red);

         Kessel1.append("\n\n nicht im Sollwert !!\n\n\n");

       }

  }

 

  void K1R_actionPerformed(ActionEvent e) {

    getreaumur=Double.parseDouble(EK1.getText());

    Kessel1.append("\n in Reaumur="+ getreaumur);

    KesselTemp1.setReaumur(getreaumur);

    Kessel1.append("\n in Fahrenheit="+ KesselTemp1.getFahrenheit());

    Kessel1.append("\n in Celsius="+ KesselTemp1.getCelsius());

    if(KesselTemp1.hasSollwert()==true){

      Kessel1.append("\n\n im Sollwert !!\n\n\n");

      Kessel1.setBackground(Color.green);

      }

      else{

        Kessel1.setBackground(Color.red);

        Kessel1.append("\n\n nicht im Sollwert !!\n\n\n");

      }

  }

 

  void K1F_actionPerformed(ActionEvent e) {

    getfahrenheit=Double.parseDouble(EK1.getText());

    Kessel1.append("\n in Fahrenheit="+ getfahrenheit);

    KesselTemp1.setFahrenheit(getfahrenheit);

    Kessel1.append("\n in Reaumur="+ KesselTemp1.getReaumur());

    Kessel1.append("\n in Celsius="+ KesselTemp1.getCelsius());

    if(KesselTemp1.hasSollwert()==true){

      Kessel1.append("\n\n im Sollwert !!\n\n\n");

      Kessel1.setBackground(Color.green);

    }

     else{

      Kessel1.setBackground(Color.red);

      Kessel1.append("\n\n nicht im Sollwert !!\n\n\n");

    }

}

 

class temp1_K1C_actionAdapter implements java.awt.event.ActionListener {

  temp1 adaptee;

 

  temp1_K1C_actionAdapter(temp1 adaptee) {

    this.adaptee = adaptee;

  }

  public void actionPerformed(ActionEvent e) {

    adaptee.K1C_actionPerformed(e);

  }

}

 

class temp1_K1R_actionAdapter implements java.awt.event.ActionListener {

  temp1 adaptee;

 

  temp1_K1R_actionAdapter(temp1 adaptee) {

    this.adaptee = adaptee;

  }

  public void actionPerformed(ActionEvent e) {

    adaptee.K1R_actionPerformed(e);

  }

}

 

class temp1_K1F_actionAdapter implements java.awt.event.ActionListener {

  temp1 adaptee;

 

  temp1_K1F_actionAdapter(temp1 adaptee) {

    this.adaptee = adaptee;

  }

  public void actionPerformed(ActionEvent e) {

    adaptee.K1F_actionPerformed(e);

  }

 }

 

  void K2C_actionPerformed(ActionEvent e) {

    getcelsius=Double.parseDouble(EK2.getText());

    Kessel2.append("\n in Celsius="+ getcelsius);

    KesselTemp2.setCelsius(getcelsius);

    Kessel2.append("\n in Fahrenheit="+ KesselTemp2.getFahrenheit());

    Kessel2.append("\n in Reaumur="+ KesselTemp2.getReaumur());

    if(KesselTemp2.hasSollwert()==true){

    Kessel2.append("\n\n im Sollwert !!\n\n\n");

    Kessel2.setBackground(Color.green);

    }

    else{

      Kessel2.setBackground(Color.red);

      Kessel2.append("\n\n nicht im Sollwert !!\n\n\n");

    }

 

  }

 

  void K2R_actionPerformed(ActionEvent e) {

    getreaumur=Double.parseDouble(EK2.getText());

    Kessel2.append("\n in Reaumur="+ getreaumur);

    KesselTemp2.setReaumur(getreaumur);

    Kessel2.append("\n in Fahrenheit="+ KesselTemp2.getFahrenheit());

    Kessel2.append("\n in Celsius="+ KesselTemp2.getCelsius());

    if(KesselTemp2.hasSollwert()==true){

      Kessel2.append("\n\n im Sollwert !!\n\n\n");

      Kessel2.setBackground(Color.green);

      }

      else{

        Kessel2.setBackground(Color.red);

        Kessel2.append("\n\n nicht im Sollwert !!\n\n\n");

      }

 

  }

 

  void K2F_actionPerformed(ActionEvent e) {

    getfahrenheit=Double.parseDouble(EK2.getText());

    Kessel2.append("\n in Fahrenheit="+ getfahrenheit);

    KesselTemp2.setFahrenheit(getfahrenheit);

    Kessel2.append("\n in Reaumur="+ KesselTemp2.getReaumur());

    Kessel2.append("\n in Celsius="+ KesselTemp2.getCelsius());

    if(KesselTemp2.hasSollwert()==true){

      Kessel2.append("\n\n im Sollwert !!\n\n\n");

      Kessel2.setBackground(Color.green);

    }

     else{

      Kessel2.setBackground(Color.red);

      Kessel2.append("\n\n nicht im Sollwert !!\n\n\n");

    }

 

  }

}

 

class temp1_K2C_actionAdapter implements java.awt.event.ActionListener {

  temp1 adaptee;

 

  temp1_K2C_actionAdapter(temp1 adaptee) {

    this.adaptee = adaptee;

  }

  public void actionPerformed(ActionEvent e) {

    adaptee.K2C_actionPerformed(e);

  }

}

 

class temp1_K2R_actionAdapter implements java.awt.event.ActionListener {

  temp1 adaptee;

 

  temp1_K2R_actionAdapter(temp1 adaptee) {

    this.adaptee = adaptee;

  }

  public void actionPerformed(ActionEvent e) {

    adaptee.K2R_actionPerformed(e);

  }

}

 

class temp1_K2F_actionAdapter implements java.awt.event.ActionListener {

  temp1 adaptee;

 

  temp1_K2F_actionAdapter(temp1 adaptee) {

    this.adaptee = adaptee;

  }

  public void actionPerformed(ActionEvent e) {

    adaptee.K2F_actionPerformed(e);

  }

}

 

Klasse Temperatur

 

public class Temperatur

{

  // Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen

 

  private double Reaumur;

  private double Celsius;

  private double Fahrenheit;

 

 

 

  //-----------------Konstruktoren--------------------------

 

  public Temperatur()

  {

   Reaumur=Celsius=Fahrenheit=0;

  }

 

  public Temperatur (double t, char einheit)

   { switch (einheit)

     { case 'R':

       case 'r': Reaumur = t;

                 wandleVonReaumur();

                 break;

       case 'c':

       case 'C': Celsius = t;

                 wandleVonCelsius();

                 break;

       case 'f':

       case 'F': Fahrenheit = t;

                 wandleVonFahrenheit();

                 break;

     };

    }

 

  //------------explizite Methoden-----------------------

 

   public boolean hasSollwert()

   {final double Sollwert = 56;  //Sollwert = 56 C ; Konstante

    final double Toleranz = 5;   //Toleranz = 5 C   ; Konstante

    if (Math.abs(Celsius-Sollwert) < Toleranz)

      return true;

     else

       return false;

   }

 

  private void wandleVonCelsius()

  {  Reaumur = Math.round((Celsius*0.8)*1000.0)/1000.0;

     Fahrenheit = Math.round((1.8*Celsius+32)*1000.0)/1000.0;

  }

 

  private void wandleVonReaumur()

  {  Celsius = Math.round((Reaumur/0.8)*1000.0)/1000.0;

    Fahrenheit = Math.round((1.8*Celsius+32)*1000.0)/1000.0;

  }

 

  private void wandleVonFahrenheit()

  { Celsius = Math.round(((Fahrenheit-32)/1.8)*1000.0)/1000.0;

    Reaumur = Math.round((Celsius*0.8)*1000.0)/1000.0;

   }

 

  // -------------------- implizite Methoden ------------------

 

  public void setCelsius(double t)

  { Celsius = t;

    wandleVonCelsius();

  }

 

  public void setReaumur(double t)

  { Reaumur = t;

    wandleVonReaumur();

  }

 

  public void setFahrenheit(double t)

  { Fahrenheit = t;

    wandleVonFahrenheit();

  }

 

  public double getCelsius()

  { return Celsius;

  }

 

  public double getFahrenheit()

  { return Fahrenheit;

  }

 

  public double getReaumur()

  { return Reaumur;

   }

}