Hallochen, ich habe die Woche begonnem mich mit Java zu beschäftigen. Wir sollen vom Studium aus einen Taschenrechner programmieren.
Ich habe hier ein kleinen Problem mit dem set und get eines Array's. Ich finde aber leider meinen Denkfehler nicht.
Mit:
Möchte ich eine Zahl aus dem Taschenrechner an meine Klasse "Rechnung" übergeben.
Es kommt aber immer der Fehler:
Ich gehe mal davon aus das der Fehler in der Zeile liegt:
das wäre dann die hier:
Frage ist nun. Was ist daran falsch?
Ich habe hier ein kleinen Problem mit dem set und get eines Array's. Ich finde aber leider meinen Denkfehler nicht.
Code:
Rechnung meineRechnung = new Rechnung();
Mit:
Code:
meineRechnung.setZahlen(Float.parseFloat(jTextField1.getText()), meineRechnung.getStep());
Möchte ich eine Zahl aus dem Taschenrechner an meine Klasse "Rechnung" übergeben.
Code:
public class Rechnung {
private float Zahlen[];
private int step = 0;
public float getZahlen(int step) {
return Zahlen[step];
}
public void setZahlen(float Zahlen, int step) {
this.Zahlen[step] = Zahlen;
}
public int getStep() {
return step;
}
public void setStep(int step) {
this.step = step;
}
}
Es kommt aber immer der Fehler:
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at taschenrechner.Rechnung.setZahlen(Rechnung.java:21)
at taschenrechner.JFrameTaschenrechber.jButtonPlusActionPerformed(JFrameTaschenrechber.java:483)
at taschenrechner.JFrameTaschenrechber.access$1100(JFrameTaschenrechber.java:14)
at taschenrechner.JFrameTaschenrechber$12.actionPerformed(JFrameTaschenrechber.java:158)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:688)
at java.awt.EventQueue$3.run(EventQueue.java:686)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:702)
at java.awt.EventQueue$4.run(EventQueue.java:700)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Ich gehe mal davon aus das der Fehler in der Zeile liegt:
Code:
at taschenrechner.Rechnung.setZahlen(Rechnung.java:21)
das wäre dann die hier:
Code:
this.Zahlen[step] = Zahlen;
Frage ist nun. Was ist daran falsch?