Witam, mam problem - moj kod pod windows (eclipse) kompiluje sie i dziala poprawnie, pod linux (javac my_file.java) kompiluje sie, ale daje ten blad (java my_file):
nahnah i nah
Exception in thread "main" java.lang.NullPointerException
at java.util.regex.Matcher.appendReplacement(Matcher.java:699)
at java.util.regex.Matcher.replaceAll(Matcher.java:813)
at java.lang.String.replaceAll(String.java:2189)
at TreeEval.main(TreeEval.java:71)
Kawalek kodu:
String array1[] = new String[1000];
for (int i=0; i<1000; i++)
{
array1[i] = br.readLine();
} // br to BufferedReader(FileReader) - wczytuje kolejne linie pliku do array1
String moj_test1 = "blabla i bla";
String zamiennik = "nah";
String wynik_testowy = moj_test1.replaceAll("bla", zamiennik);
System.out.println(wynik_testowy); // dotad dziala, co widac na output
for (int i=0; i<1000; i+=5)
{
newstring1 = finalExpr.replaceAll("(?:y0)", array1[i]); // linia 71
newstring1 = newstring1.replaceAll("(?:y1)", array1[i+1]);
newstring1 = newstring1.replaceAll("(?:y2)", array1[i+2]);
newstring1 = newstring1.replaceAll("(?:y3)", array1[i+3]);
}
// finalExpr jest typu String, zawiera wyrazenie matematyczne, w nim miedzy innymi y0, y1, y2, y3
// chce zamienic substringi z finalExpr na te z array1
Jak napisalem, pod windows to dziala, podmienia ladnie. Pod linux nie.
Moze ktos ma pomysl czemu?