Also ich habe hier ein Programm geschrieben das die Fakultät der eingegebenen Zahl ausrechnet
Ich möchte aber durch eine "JOptionPane" eine Fehler Medlung ausgeben wenn der Benutzer eine höherer Zahl als 65 eingibt ausgeben, denn er Datentyp long is das größte und es gehen einfach nicht mehr Zahlen.
Dies bekomm ich aber nicht hin.
Es geht rein um die Fehlermeldung.
Also hier der Quellcode
seit so nett und helft mir pls !!!!
FakultaetBL (BL = Business Layer)
und dann noch die GUI
FakultaetGUI
:rtfm::rtfm::rtfm::rtfm::rtfm::rtfm::rtfm::rtfm::rtfm::rtfm:
Ich möchte aber durch eine "JOptionPane" eine Fehler Medlung ausgeben wenn der Benutzer eine höherer Zahl als 65 eingibt ausgeben, denn er Datentyp long is das größte und es gehen einfach nicht mehr Zahlen.
Dies bekomm ich aber nicht hin.
Es geht rein um die Fehlermeldung.
Also hier der Quellcode
seit so nett und helft mir pls !!!!
FakultaetBL (BL = Business Layer)
Java:
public class FakultaetBL {
private int num;
private long fak = 1;
public FakultaetBL(int n) {
num = n;
}
public void berechne() {
for (int i = 2; i <= num; i++) {
fak *= i;
}
}
public long getFakultaet() {
return fak;
}
}
und dann noch die GUI
FakultaetGUI
Java:
import javax.swing.JOptionPane;
public class FakultaetGUI extends javax.swing.JFrame {
public FakultaetGUI() {
initComponents();
this.setLocationRelativeTo(null);
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
pnlZahl = new javax.swing.JPanel();
lbZahl = new javax.swing.JLabel();
tfZahl = new javax.swing.JTextField();
pnlFak = new javax.swing.JPanel();
lbFaklutaet = new javax.swing.JLabel();
tfFaklultaet = new javax.swing.JTextField();
bt_berechne = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(new java.awt.GridLayout(3, 1));
pnlZahl.setLayout(new java.awt.GridLayout(1, 0));
lbZahl.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lbZahl.setText("Zahl: ");
pnlZahl.add(lbZahl);
tfZahl.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
tfZahl.setText("0");
tfZahl.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
onEnterGedrueckt(evt);
}
});
pnlZahl.add(tfZahl);
getContentPane().add(pnlZahl);
pnlFak.setLayout(new java.awt.GridLayout(1, 0));
lbFaklutaet.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lbFaklutaet.setText("Fakultät: ");
pnlFak.add(lbFaklutaet);
tfFaklultaet.setEditable(false);
tfFaklultaet.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
tfFaklultaet.setText("1");
pnlFak.add(tfFaklultaet);
getContentPane().add(pnlFak);
bt_berechne.setText("berechne");
bt_berechne.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bt_berechneActionPerformed(evt);
}
});
getContentPane().add(bt_berechne);
pack();
}// </editor-fold>
private void onEnterGedrueckt(java.awt.event.ActionEvent evt) {
}
private void bt_berechneActionPerformed(java.awt.event.ActionEvent evt) {
aktualisiere(Integer.parseInt(tfZahl.getText()));
JOptionPane.showMessageDialog(tfZahl, "Bitte geben Sie keine Zahl ein die größer als 65 ist !!!!!");
}
private void aktualisiere(int zahl) {
fak = new FakultaetBL(zahl);
fak.berechne();
long fakultaet = fak.getFakultaet();
tfFaklultaet.setText("" + fakultaet);
tfZahl.setText("" + zahl);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new FakultaetGUI().setVisible(true);
}
});
}
private FakultaetBL fak;
// Variables declaration - do not modify
private javax.swing.JButton bt_berechne;
private javax.swing.JLabel lbFaklutaet;
private javax.swing.JLabel lbZahl;
private javax.swing.JPanel pnlFak;
private javax.swing.JPanel pnlZahl;
private javax.swing.JTextField tfFaklultaet;
private javax.swing.JTextField tfZahl;
// End of variables declaration
}
:rtfm::rtfm::rtfm::rtfm::rtfm::rtfm::rtfm::rtfm::rtfm::rtfm:
Zuletzt bearbeitet von einem Moderator: