HashMap enthält die Return -Return falsch trotz des Schlüssels?
Posted: 22 Mar 2025, 04:33
Ich habe also an diesem Programm für mein Computermodul gearbeitet, einfach und soll nur Klassenarbeit sein. Leider hat es meine Arbeit nicht geschafft, weil die UNI -Systeme saugen, also muss ich sie wiederholen. Ich habe es schon einmal perfekt funktionieren lassen, aber jetzt versuche ich es, es wird nicht funktionieren. Es weigert sich jedoch zu erkennen, dass der Schlüssel vorhanden ist (ich kann es durch die Verwendung von Schlüsselset sehen), sodass er immer falsch zurückkommt und den Wert auf 1 zurücksetzt. Es ist eine einfache, wenn Anweisung, sodass ich nicht verstehe, was das Problem ist!
und ich weiß>
Code: Select all
if(MajorCharTurns.containsKey(playLines.get(i))) {
MajorCharTurns.put(playLines.get(i), MajorCharTurns.get(playLines.get(i)) + 1);
}else {
MajorCharTurns.put(playLines.get(i), 1);
}
< /code>
Das gesamte Programm ist derzeit (benötigt jedoch eine Textdatei): < /p>
import java.io.*;
import java.util.*;
public class WordProcessing {
public static void main(String[] args) {
Vector playLines = new Vector();
Vector playMajorCharacters = new Vector();
Vector playMinorCharacters = new Vector();
HashMap MajorCharTurns = new HashMap();
try {
File myObj = new File("Antony and Cleopatra.txt");
Scanner myReader = new Scanner(myObj);
while (myReader.hasNextLine()) {
String data = myReader.nextLine();
playLines.add(data);
}
myReader.close();
} catch (FileNotFoundException e) {
System.out.println("Error loading file occured.");
e.printStackTrace();
}
final String playName = playLines.get(1);
// i=2 to skip title
for (int i = 2; i < playLines.size(); i++) {
if (!playLines.get(i).startsWith(" ") && !playLines.get(i).startsWith("ACT") && !playLines.get(i).startsWith("SCENE")) {
//Add to main characters
if (playLines.get(i).toUpperCase().equals(playLines.get(i)) && !playMajorCharacters.contains(playLines.get(i))) {
if (playLines.get(i).contains(" ")) {
String[] characters = playLines.get(i).split(" ");
for (int x=0; x < characters.length; x++) {
if(!playMajorCharacters.contains(characters[x])) {
playMajorCharacters.add(characters[x]);
if(MajorCharTurns.containsKey(characters[x])) {
MajorCharTurns.put(characters[x], MajorCharTurns.get(characters[x]) + 1);
}else{
MajorCharTurns.put(characters[x], 1);
}
}
}
} else {
playMajorCharacters.add(playLines.get(i));
//System.out.println(playLines.get(i) + " " + MajorCharTurns.containsKey(playLines.get(i)));
if(MajorCharTurns.containsKey(playLines.get(i))) {
MajorCharTurns.put(playLines.get(i), MajorCharTurns.get(playLines.get(i)) + 1);
}else {
MajorCharTurns.put(playLines.get(i), 1);
}
}
}else {
if(!playMinorCharacters.contains(playLines.get(i)) && !playMajorCharacters.contains(playLines.get(i))){
playMinorCharacters.add(playLines.get(i));
}
}
}
}//end for
System.out.println("Play Name: " + playName);
System.out.println("\n Major Characters:");
for (int i = 2; i < playMajorCharacters.size(); i++) {
System.out.println(playMajorCharacters.get(i) + " " + MajorCharTurns.get(playMajorCharacters.get(i)));
}
System.out.println("\n Minor Characters:");
for (int i = 2; i < playMinorCharacters.size(); i++) {
System.out.println(playMinorCharacters.get(i));
}
}//end main
}