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;
}
}