HashMap enthält die Return -Return falsch trotz des Schlüssels?Java

Java-Forum
Anonymous
 HashMap enthält die Return -Return falsch trotz des Schlüssels?

Post by Anonymous »

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!

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
}

und ich weiß>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post