Пока петля не останавливается (Java) [дублировать]JAVA

Программисты JAVA общаются здесь
Anonymous
Пока петля не останавливается (Java) [дублировать]

Сообщение Anonymous »

У меня есть метод, называемый FileCcessor, который переходит в указанный файл (указанный файл называется test_save.txt) и помещает содержимое в хэшмап, называемый FileContents, поэтому в моей программе вызовут метод, а затем используя метод, который смотрит через FileContents, пока строка, на которой не будет обнаружена «CP», каждый раз, когда она не считается Partnum. Но петля Where никогда не останавливается и в конечном итоге идет в часть хэшматы, которой не существует и дает мне NPE. Я пробовал кое -что, но я не знаю, почему это происходит? Вот код: < /p>
Программа: < /p>

Код: Выделить всё

package IDK;

import java.io.*;
import java.util.*;

public class simulator {

static File file;
static HashMap  fileCont = new HashMap  ();

public static void main (String [] args) {

int partNum = 0;
fileAccessor ("test", "read");
String [] partSeg = fileCont.get (partNum).split (":");

while (partSeg [0] != "cP") {

partNum ++;
partSeg = fileCont.get (partNum).split (":");
}

System.out.println (partNum);
}

public static void fileAccessor (String fileName, String op) {

file = new File ("src/saves/" + fileName + "_save.txt");

switch (op) {

case "make":
make ();
break;

case "write":
write ();
break;

case "read":
read ();
break;
}
}

static void make () {

try {

file.createNewFile ();
} catch (IOException e) {}
}

static void write () {

try (BufferedWriter writer = new BufferedWriter (new FileWriter (file))) {

int line = 1;

while (fileCont.get (line) != null) {

writer.write (fileCont.get (line));
writer.newLine ();
line ++;
}
} catch (IOException e) {}
}

static void read () {

fileCont.clear ();

try (BufferedReader reader = new BufferedReader (new FileReader (file))) {

String lineCont;
int line = 1;

while ((lineCont = reader.readLine ()) != null) {

fileCont.put (line - 1, lineCont);
line ++;
}
} catch (IOException e) {}
}
}
< /code>
Файл для доступа: < /p>
n:0:0:1:1:0
n:0:0:1:1:0
n:0:0:1:1:0
cP:0:0
справка оценена.

Подробнее здесь: https://stackoverflow.com/questions/796 ... pping-java

Вернуться в «JAVA»