G
gnom69
Gast
Eins meiner ersten Programme in Java solte ein Taschenrechenr werden in dem man die komplette Rechnung eingibtl
aber beim Compilieren kommt immer und immer wieder:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at Anfang.eingabe(Anfang.java:110)
at Anfang.main(Anfang.java:128)
die Rechnungen sollen ungefähr so aussehen:
10 + 10 + 10
(Das programm ist noch nicht ganz Fertig da die eigentliche Rechnung noch fehlt, aber diese geht nur wenn der Anfang funktioniert)
aber beim Compilieren kommt immer und immer wieder:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at Anfang.eingabe(Anfang.java:110)
at Anfang.main(Anfang.java:128)
die Rechnungen sollen ungefähr so aussehen:
10 + 10 + 10
(Das programm ist noch nicht ganz Fertig da die eigentliche Rechnung noch fehlt, aber diese geht nur wenn der Anfang funktioniert)
Code:
import javax.swing.*;
/**
* @author Patrick Koch
*
*/
class Anfang {
public static void eingabe()
{
String aufgabe = JOptionPane.showInputDialog("Bitte Rechnung eingeben");
String[] results = aufgabe.split(" "); // Hier wird der array geteilt
try
{
String b ="Fehler";
boolean doppel = false;
int zahleins = Integer.parseInt( results[0] ); //Die array teile werden zugeteilt
if (results[1]=="+")
{
boolean zweiplus = true;
boolean zweiminus = false;
boolean zweimal = false;
boolean zweidurch = false;
}
else if (results[1]=="-")
{
boolean zweiplus = false;
boolean zweiminus = true;
boolean zweimal = false;
boolean zweidurch = false;
}
else if (results[1]=="*")
{
boolean zweiplus = false;
boolean zweiminus = false;
boolean zweimal = true;
boolean zweidurch = false;
}
else if (results[1]=="/")
{
boolean zweiplus = false;
boolean zweiminus = false;
boolean zweimal = false;
boolean zweidurch = true;
}
if (results[3]=="+")
{
doppel = true;
boolean dreiplus = true;
boolean dreiminus = false;
boolean dreimal = false;
boolean dreidurch = false;
}
else if (results[3]=="-")
{
doppel = true;
boolean dreiplus = false;
boolean dreiminus = true;
boolean dreimal = false;
boolean dreidurch = false;
}
else if (results[3]=="*")
{
doppel = true;
boolean dreiplus = false;
boolean dreiminus = false;
boolean dreimal = true;
boolean dreidurch = false;
}
else if (results[3]=="/")
{
doppel = true;
boolean dreiplus = false;
boolean dreiminus = false;
boolean dreimal = false;
boolean dreidurch = true;
}
else
{
System.out.println(b);
}
int zahlzwei = Integer.parseInt( results[1] ); //Die array teile werden zugeteilt
int zahldrei = Integer.parseInt( results[2] ); //Die array teile werden zugeteilt
if ( doppel == true )
{
int zahlvier = Integer.parseInt( results[3] ); //Die array teile werden zugeteilt
int zahlfunf = Integer.parseInt( results[4] ); //Die array teile werden zugeteilt
}
}
catch (ArrayIndexOutOfBoundsException ni)
{
results[3]="";
}
}
static void rechnen()
{
}
public static void main( String[] args )
{
eingabe();
}}