Hallo,
habe folgenden Quellcode von nem Freund erhalten. Wenn ich ecplise durchlaufen lasse erhalte ich immer eine Fehlermeldung. Mich würde interessieren wo der Fehler liegt und wie ich das Programm testen kann. Also ich möchte alle negativen bzw. positiven Zahlen aus einer Datei einlesen.
Danke schonmal im voraus für alle Tipps!
habe folgenden Quellcode von nem Freund erhalten. Wenn ich ecplise durchlaufen lasse erhalte ich immer eine Fehlermeldung. Mich würde interessieren wo der Fehler liegt und wie ich das Programm testen kann. Also ich möchte alle negativen bzw. positiven Zahlen aus einer Datei einlesen.
Code:
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class test {
/**
* @param args
*/
private static File inputFile;
private static FileReader frIn;
private static boolean endoffile=false;
static int readNextInt() throws IOException{
boolean anyresult=false;
boolean minus=false;
int result=0;
int nextChar=frIn.read();
if (nextChar=='-'){minus=true;}
while (nextChar!=-1 && !Character.isDigit((char)nextChar)){
nextChar=frIn.read();
if (minus&&!Character.isDigit((char)nextChar)){
minus=false;
}
if (nextChar=='-'){
minus=true;
}
}
while (nextChar!=-1 && Character.isDigit((char)nextChar)){
if (nextChar!=-1 && Character.isDigit((char)nextChar))anyresult=true;
result=result*10;
result=result+nextChar-'0';
nextChar=frIn.read();
}
if (minus){
result=result*(-1);
minus=false;
}
if (nextChar!=-1)return result;
else if (nextChar==-1 && anyresult) return result;
else {
endoffile=true;
return (-1);
}
}
public static void main(String[] args)throws IOException {
// TODO Auto-generated method stub
inputFile=new File(args[0]); <------- hier bleibt er immer stehen
frIn=new FileReader(inputFile);
int number=0;
while (!endoffile){
number=readNextInt();
if (!endoffile)
System.out.print(number+" ");
}
frIn.close();
}
}
Danke schonmal im voraus für alle Tipps!