Ich habe vor einem halben Jahr einen Promillezähler geschreiben der auch perfekt funktioniert allerdings ist er in einer Wurst geschrieben.
Meine Frage: Kann mir wer helfen diese Wurst in Klassen aufzuteilen wie Benutzer,Getränke,Uhrzeit und die GUI ??
Danke im voraus
Hier der Code:
package gui;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class GUIStart extends JFrame implements ActionListener {
private JTextArea ta= new JTextArea(30,30);
private JTextField tfGeschlecht = new JTextField(1);
private JTextField tfGewicht = new JTextField(3);
private JTextField tfStunde = new JTextField(2);
private JTextField tfMinute = new JTextField(2);
private JTextField tfGetränk = new JTextField(5);
private JTextField tfMenge = new JTextField(4);
private JTextField tfBlutAlk = new JTextField(4);
private JButton btFertig = new JButton("Übernehmen");
private static final long serialVersionUID = 1L;
public GUIStart()
{
initComponents();
this.setVisible(true);
this.setSize(410,500);
}
private void initComponents() {
Container c= this.getContentPane();
c.setLayout(new BorderLayout());
c.add(new JScrollPane(ta), BorderLayout.CENTER);
JPanel DatenPanel = new JPanel();
DatenPanel.setLayout(new BorderLayout());
c.add(DatenPanel, BorderLayout.NORTH);
DatenPanel.add(btFertig, BorderLayout.SOUTH);
JPanel erfassungspanel = new JPanel();
erfassungspanel.setLayout(new GridLayout(1,2));
DatenPanel.add(erfassungspanel, BorderLayout.CENTER);
JPanel AllgemeinPanel = new JPanel();
AllgemeinPanel.setLayout(new GridLayout(4,1));
erfassungspanel.add(AllgemeinPanel);
JPanel AlkoholPanel = new JPanel();
AlkoholPanel.setLayout(new GridLayout(4,1));
erfassungspanel.add(AlkoholPanel);
AllgemeinPanel.add(new JLabel(" Allgemeine Daten"));
JPanel GeschlechtPanel = new JPanel();
GeschlechtPanel.setLayout(new FlowLayout());
AllgemeinPanel.add(GeschlechtPanel, BorderLayout.CENTER);
GeschlechtPanel.add(new JLabel("Geschlecht: "));
GeschlechtPanel.add(tfGeschlecht);
JPanel GewichtPanel = new JPanel();
GewichtPanel.setLayout(new FlowLayout());
AllgemeinPanel.add(GewichtPanel, BorderLayout.CENTER);
GewichtPanel.add(new JLabel("Gewicht in kg: "));
GewichtPanel.add(tfGewicht);
JPanel ZeitPanel = new JPanel();
ZeitPanel.setLayout(new FlowLayout());
AllgemeinPanel.add(ZeitPanel, BorderLayout.CENTER);
ZeitPanel.add(new JLabel("Uhrzeit: "));
ZeitPanel.add(tfStunde);
ZeitPanel.add(new JLabel(":"));
ZeitPanel.add(tfMinute);
AlkoholPanel.add(new JLabel(" Alkohol Daten"));
JPanel GetränkPanel = new JPanel();
GetränkPanel.setLayout(new FlowLayout());
AlkoholPanel.add(GetränkPanel, BorderLayout.CENTER);
GetränkPanel.add(new JLabel("Getränk: "));
GetränkPanel.add(tfGetränk);
JPanel MengePanel = new JPanel();
MengePanel.setLayout(new FlowLayout());
AlkoholPanel.add(MengePanel, BorderLayout.CENTER);
MengePanel.add(new JLabel("Menge in ml: "));
MengePanel.add(tfMenge);
JPanel BlutAlkPanel = new JPanel();
BlutAlkPanel.setLayout(new FlowLayout());
AlkoholPanel.add(BlutAlkPanel, BorderLayout.CENTER);
BlutAlkPanel.add(new JLabel("Blutalkohol in Promille: "));
BlutAlkPanel.add(tfBlutAlk);
btFertig.addActionListener(this);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
GUIStart gs= new GUIStart();
}
@Override
public void actionPerformed(ActionEvent arg0)
{
JButton source= (JButton)arg0.getSource();
try{
if(source==btFertig)
{
String ausgabeString = "";
double verteilungsf = 0;
double gewicht = 0;
int stunde = 0;
int minute = 0;
double alkohol = 0;
double menge = 0;
double blutAlk= 0;
int nuechtern = 0;
double intus = 0;
if(tfGeschlecht.getText().equals("m") || tfGeschlecht.getText().equals("M"))
{
verteilungsf += 0.7;
}
if(tfGeschlecht.getText().equals("w") || tfGeschlecht.getText().equals("W"))
{
verteilungsf += 0.6;
}
gewicht += Double.parseDouble(tfGewicht.getText());
stunde += Integer.parseInt(tfStunde.getText());
minute += Integer.parseInt(tfMinute.getText());
menge += Double.parseDouble(tfMenge.getText());
intus += Double.parseDouble(tfBlutAlk.getText());
if(tfGetränk.getText().equals("Bier"))
{
alkohol += (menge*0.1)*5*0.08;
}
if(tfGetränk.getText().equals("Vodka"))
{
alkohol += (menge*0.1)*38*0.08;
}
if(tfGetränk.getText().equals("Wein"))
{
alkohol += (menge*0.1)*11*0.08;
}
if(tfGetränk.getText().equals("Likör"))
{
alkohol += (menge*0.1)*20*0.08;
}
if(tfGetränk.getText().equals("Wiskey"))
{
alkohol += (menge*0.1)*40*0.08;
}
if(tfGetränk.getText().equals("Tequila"))
{
alkohol += (menge*0.1)*55*0.08;
}
if(tfGetränk.getText().equals("Absinth"))
{
alkohol += (menge*0.1)*60*0.08;
}
blutAlk += alkohol/(verteilungsf*gewicht)+intus;
nuechtern = (int) (blutAlk*10+stunde);
if(nuechtern >= 24)
{
nuechtern -= 24;
ausgabeString += "Sie haben "+blutAlk+" Promille im Blut
"+"Sie sind ungefähr um "
+nuechtern+" Uhr "+tfMinute.getText()+" am nächsten Tag wieder nüchtern
";
ta.append(ausgabeString);
}
else
{
ausgabeString += "Sie haben "+blutAlk+" Promille im Blut
"+"Sie sind ungefähr um "
+nuechtern+" Uhr "+tfMinute.getText()+" wieder nüchtern
";
ta.append(ausgabeString);
}
}
} catch (Exception e) {
ta.setText("Alle Felder müssen ausgefüllt werden
");
}
}
}```