Ich bin ganz neu in Java. Ich habe ein Problem beim Kompilieren eines einfachen Java-Programms und versuche zu verstehen, warum. (Beachten Sie, dass die TextIO
Klasse im Code wird im Buch, das ich studiere, verwendet, um den IO-Prozess zu vereinfachen, ich glaube nicht, dass das Problem dort liegt:
public class ProcessSales {
public static void main(String[] args) {
String ln;
String tmp;
int i;
int noval;
TextIO.readFile("sales.dat");
while (TextIO.eof() == false){
ln = TextIO.getln();
for (i = 0; i < ln.length(); i++) {
if (ln.charAt(i) == ':'){
tmp = ln.subString(i + 1);
}
} // end line for loop
try {
System.out.printf("%8.2f\n", Double(tmp.trim()));
}
catch (NumberFormatException e) {
noval++;
}
} // end of file while loop
System.out.printf("\nThere were a total of %d cities that didnt have data\n", noval);
} // end of main subroutine
} // end of ProcessSales class
Der Kompilierfehler, den ich erhalte, lautet wie folgt:
[seldon@PrimeRadiant Exercises]$ javac ProcessSales.java
ProcessSales.java:15: cannot find symbol
symbol : method subString(int)
location: class java.lang.String
tmp = ln.subString(i + 1);
^
ProcessSales.java:20: cannot find symbol
symbol : method Double(java.lang.String)
location: class ProcessSales
System.out.printf("%8.2f\n", Double(tmp.trim()));
^
2 errors
Ich habe erklärt ln
als String
Objekt. Die Website subString
Methode ist direkt aus dem Java-Api für eine String
Gegenstand. Ich verstehe nicht, warum ich die Meldung cannot find symbol
Kompilierfehler, insbesondere wenn die Signatur und der Ort der Methode direkt unter der Fehlermeldung aufgeführt werden.
Ich habe die Fragen als Hausaufgaben Da ich anhand eines Lehrbuchs arbeite, möchte ich das Problem verstehen und nicht eine pauschale Lösung finden. Es handelt sich jedoch um ein Selbststudium und (im Moment) nicht um einen Teil des eigentlichen Unterrichts.