Ich begann vor kurzem zu codieren und ich blieb schon seit einigen Tagen stecken. Also ich brauche „Wert“ von „Schlüssel“ zu bekommen, die wie in der Tabelle ist:Wert kann nicht aus Schlüssel (HashMaps, Textdatei)
one uno
two dos
three tres
four cuatro
NB: Wörter durch Tab getrennt sind, also „/ t“
und welche Neuling mich mit so etwas wie dies könnte Aussehen erreichen:
import java.util.*;
import java.io.*;
public class test {
public static void main(String[] args)throws FileNotFoundException, IOException {
Scanner scanner = new Scanner(new FileReader("C:\\Users\\Admin\\workspace\\test_dict\\src\\source.txt"));
HashMap<String,String> map = new HashMap<String,String>();
while (scanner.hasNextLine()) {
String[] columns = scanner.nextLine().split("\t");
map.put(columns[0],(columns[1]));
//enter a key word
System.out.println("Enter a word");
String[] columns = scanner.nextLine();
//ignoring upper and lower case
columns=columns.toLowerCase();
// returns the element associated with the key
System.out.println(map.get(columns[]));
//close files
scanner.close();
}
}
}
Das Problem ist: ich habe die Konsole eingeben das Schlüsselwort in der Lage sein wollen, und der damit verbundenen Wert zu erhalten. zB:
Enter a word:
one
uno
Aber ich kann map.get nicht verwenden (columns []); und wenn ich map.get(columns[0]);
aus irgendeinem seltsamen Grund versuchen, es zeigt mir columns[1]
so in Konsole bekam ich
Enter a word:
uno
Enter a word:
dos
Enter a word:
tres
Enter a word:
cuatro
'String [] columns = scanner.nextLine()' Warum wollen Sie versuchen, die Variable 'columns' wiederzuverwenden und warum denkst du, dass '# nextLine' ein Array zurückgibt? * "wenn ich' map.get (columns [0]) versuche; 'aus irgendeinem seltsamen Grund zeigt es mir' columns [1] '" * Warum ist das komisch? 'Map # get' gibt den Wert zurück, der dem übergebenen Schlüssel zugeordnet ist. Dies ist offensichtlich 'columns [1]', wenn Sie 'columns [0]' übergeben. – Tom