(Mit Java) Ich implementiere eine generische Klasse, die eine B-Struktur ist. Wenn der Benutzer das Programm ausführt, kann er einige Argumente angeben, die den Typ des Baumes bestimmen (Integer, Character, Double oder String).Erstelle ein Objekt einer generischen Klasse
In meinem Haupt-Methode habe ich diesen Code:
// Get user input and split it into tokens
// Tokens[1] = the type specified by the user
if(tokens[1].equals("DOUBLE"))
BTree<Double> t = new BTree<Double>();
else if(tokens[1].equals("CHARACTER"))
BTree<Character> t = new BTree<Character>();
else if(tokens[1].equals("INTEGER"))
BTree<Integer> t = new BTree<Integer>();
else if(tokens[1].equals("STRING"))
BTree<String> t = new BTree<String>();
Aber der Compiler beschwert sich, wenn ich die if-Anweisungen haben. Wenn ich sie entferne, kompiliert sie und läuft gut:/wie kann ich das beheben? Damit der Benutzer den Typ liefern kann und der Baum je nach Typ erstellt wird? Vielen Dank.
Hier einige der Compiler Ausgabe:
C:\Users\User\Desktop>javac *.java
Main.java:42: error: cannot find symbol
BTree<Double> t = new BTree<Double>();
symbol: variable BTree
location: class Main
Main.java:42: error: cannot find symbol
BTree<Double> t = new BTree<Double>();
symbol: variable Double
location: class Main
Main.java:42: error: cannot find symbol
BTree<Double> t = new BTree<Double>();
symbol: variable t
location: class Main
.. Es gibt mehr, aber es ist ähnlich und
für jeden der Typen wiederholt
Können Sie Compiler-Protokoll bereitstellen? – mishadoff
Ich habe es in die Frage bearbeitet :) – Tim
Frage Titel sagt: 'Erstellen Sie ein Objekt einer abstrakten Klasse ', aber eigentlich fragen Sie etwas anderes. – anubhava