Elisabeth
07-06-2003, 17:48
Hab ein Problem mit diesen Klassen. Hab eine Methode geschrieben, die jedoch nur funktionniert, wenn ich den Code in der Main-Methode stehen hab. Wenn ich also statt dem return ein println schreib, und statt meiner Methode die Main-Methode, gibt es mir das richtige aus. Ansonsten spuckt der Compiler zwar keine Fehlermeldung aus, das Programm bleibt jedoch stecken, wenn ich es laufen lassen möchte.
Ich stell mal meinen Code hinein, vielleicht kann mir ja wer helfen, ich komm irgendwie alleine nicht mehr weiter:
import eprog.*;
import java.util.*;
import java.lang.*;
public class Berechnen extends EprogIO{
public static int berechnen(){
String string = Substring.substring();
StringTokenizer tokenSeriell = new StringTokenizer (string, "+");
StringTokenizer tokenParallel = new StringTokenizer(string, "/");
String[] parallel = new String[tokenParallel.countTokens()];
String[] seriell = new String[tokenSeriell.countTokens()];
float[] floatParallel = new float[tokenParallel.countTokens()];
int[] intSeriell = new int[tokenSeriell.countTokens()];
int zwischenergebnis = 0;
float zwischenergebnisFloat = 0;
if (string.indexOf('/') != -1){
for (int i = 0; i <= tokenParallel.countTokens(); i++){
parallel[i] = tokenParallel.nextToken();
floatParallel[i] = Float.parseFloat(parallel[i]);
floatParallel[i] = 1/floatParallel[i];
zwischenergebnisFloat = zwischenergebnisFloat + floatParallel[i];}
zwischenergebnisFloat = 1/zwischenergebnisFloat;
zwischenergebnis = (int)zwischenergebnisFloat;}
else
if (string.indexOf('+') != -1){
for (int i = 0; i <= tokenSeriell.countTokens(); i++){
seriell[i] = tokenSeriell.nextToken();
intSeriell[i] = Integer.parseInt(seriell[i]);
zwischenergebnis += intSeriell[i];}}
else
zwischenergebnis = -1;
return zwischenergebnis;
}
}
Ich stell mal meinen Code hinein, vielleicht kann mir ja wer helfen, ich komm irgendwie alleine nicht mehr weiter:
import eprog.*;
import java.util.*;
import java.lang.*;
public class Berechnen extends EprogIO{
public static int berechnen(){
String string = Substring.substring();
StringTokenizer tokenSeriell = new StringTokenizer (string, "+");
StringTokenizer tokenParallel = new StringTokenizer(string, "/");
String[] parallel = new String[tokenParallel.countTokens()];
String[] seriell = new String[tokenSeriell.countTokens()];
float[] floatParallel = new float[tokenParallel.countTokens()];
int[] intSeriell = new int[tokenSeriell.countTokens()];
int zwischenergebnis = 0;
float zwischenergebnisFloat = 0;
if (string.indexOf('/') != -1){
for (int i = 0; i <= tokenParallel.countTokens(); i++){
parallel[i] = tokenParallel.nextToken();
floatParallel[i] = Float.parseFloat(parallel[i]);
floatParallel[i] = 1/floatParallel[i];
zwischenergebnisFloat = zwischenergebnisFloat + floatParallel[i];}
zwischenergebnisFloat = 1/zwischenergebnisFloat;
zwischenergebnis = (int)zwischenergebnisFloat;}
else
if (string.indexOf('+') != -1){
for (int i = 0; i <= tokenSeriell.countTokens(); i++){
seriell[i] = tokenSeriell.nextToken();
intSeriell[i] = Integer.parseInt(seriell[i]);
zwischenergebnis += intSeriell[i];}}
else
zwischenergebnis = -1;
return zwischenergebnis;
}
}