Hallo, ich brauche eure Hilfe! Ich habe versucht einen Taschenrechner zu machen, der max 20 Zahleneingaben hat. Aber ich bekomme diese Fehlermeldung:
Mein Code (wo der fehler liegt):
Lg und danke für die Hilfe!
Java:
Exception in thread "main" java.lang.NullPointerException
at Rechner.Fkts.<init>(Fkts.java:43)
at de.teamanym.cmdtools.CMDAusgabe.<init>(CMDAusgabe.java:56)
at CMDToolLogin.LoginEingabe.<init>(LoginEingabe.java:20)
at de.teamanym.cmdtools.MainClass.main(MainClass.java:9)
Mein Code (wo der fehler liegt):
Java:
package Rechner;
import java.util.Scanner;
public class Fkts {
static double Zahl1;
public static double Zahl[];
static String eingabe;
Scanner input = new Scanner(System.in);
public Fkts() {
System.out.println("Rechner V 0.1");
System.out.println("Für Hilfe: /help");
System.out.println("Wenn du loslegen willst gebe zuerst /start ein");
eingabe = input.next();
if(eingabe.equalsIgnoreCase("/help")) {
System.out.println("Gebe zuerst 2 Zahlen an und danach ein Rechenmodul (+,-,*,:)");
System.out.println("Für Fehlercodes gebe /error ein! oder eine 1 um zum Rechnen zu gelangen");
}
if(eingabe.equalsIgnoreCase("/error")) {
System.out.println("Error304: Kein vorhandenes Rechenmodul angegeben!");
System.out.println("Error303: Allgemeiner Fehler!!!");
System.out.println("Bei jedem Fehler bitte neustarten!");
}else {
System.out.println("");
}
System.out.println("Gebe deine ERSTE Zahl ein: ");
Zahl1 = input.nextDouble();
for(int i = 0; i<20;i++) {
System.out.println("Bitte gebe ein Rechenmodul an (+, -, *, :)");
System.out.println("Wenn du nicht zurechtkommst gebe /help ein!");
eingabe = input.next();
System.out.println("Gebe deine nächste zahl ein: ");
Zahl[i] = input.nextDouble();
if (eingabe.equalsIgnoreCase("+")) {
double ergebnisplus = Zahl1 + Zahl[i];
System.out.println(ergebnisplus);
} else if (eingabe.equalsIgnoreCase("-")) {
double ergebnisminus = Zahl1 - Zahl[i];
System.out.println(ergebnisminus);
} else if (eingabe.equalsIgnoreCase("*")) {
double ergebnismal = Zahl1 * Zahl[i];
System.out.println(ergebnismal);
} else if (eingabe.equalsIgnoreCase(":")) {
double ergebnisget = Zahl1 / Zahl[i];
System.out.println(ergebnisget);
}else if (!eingabe.equalsIgnoreCase("+") || !eingabe.equalsIgnoreCase("-") || !eingabe.equalsIgnoreCase("*")
|| !eingabe.equalsIgnoreCase(":")) {
System.out.println("Error304");
} else {
System.out.println("Error303");
}
}
}
}
Lg und danke für die Hilfe!