S
SebastianWe
Gast
Hi,
ich habe vor kurzem mit Java angefangen und stehe nun vor einem schwierigen Problem.
Ich nutze Java 1.6 unter Linux.
Ich möchte einem Double-Array-Element einen Wert zuweisen. Im Buch "Java 2 JDK 5 - Grundlagen Programmierung von Herdt" steht die Syntax folgendermaßen:
somit funktioniert:
und auch:
Letzteres funktioniert allerdings aus irgendeinem Grund, den ich nicht finde, in meinem Quelltext nicht.
An der Stelle:
wird allerdings keine Wert zugewiesen!
ergibt somit z.b.
Hier ist der Code
Weshalb findet die Wertzuweisung nicht statt?
Vielen Dank
Sebastian Weidenbach
ich habe vor kurzem mit Java angefangen und stehe nun vor einem schwierigen Problem.
Ich nutze Java 1.6 unter Linux.
Ich möchte einem Double-Array-Element einen Wert zuweisen. Im Buch "Java 2 JDK 5 - Grundlagen Programmierung von Herdt" steht die Syntax folgendermaßen:
Code:
identifier[intExpression] = expression;
somit funktioniert:
Code:
array[0] = 5.0;
und auch:
Code:
int i = 0;
array[i] = 5.0;
Letzteres funktioniert allerdings aus irgendeinem Grund, den ich nicht finde, in meinem Quelltext nicht.
An der Stelle:
Code:
levenshtein[b] = levenshtein_i;
zeilen[b] = count;
wird allerdings keine Wert zugewiesen!
Code:
System.out.println(b + ": " + levensthein_i + "=" + levenshtein[b]);
System.out.println(b + ": " + count + "=" + zeilen[b];
ergibt somit z.b.
Code:
0: 5.0=0.0
0: 3=0
Hier ist der Code
Code:
public class log_diff
{
public void start()
{
try
{
File eingabeDatei = new File("./src/db/lev_log.db");
FileReader eingabeStrom = new FileReader(eingabeDatei);
BufferedReader eingabe = new BufferedReader(eingabeStrom);
int count = 0;
int l_index = 0;
int l = 0;
int b = 0;
double levenshtein_i;
boolean ready = false;
String q_word;
String s_word;
String zeile;
String[] parts;
String[] str_words = new String[2];
String[] query_words = message.split("\\s+");
int[] zeilen = new int[200000];
double[] levenshtein = new double[200000];
src.main.algorithmus.levenshtein ls = new src.main.algorithmus.levenshtein();
while ((zeile = eingabe.readLine()) != null)
{
count++;
parts = zeile.split("\\|");
if ((Integer.parseInt(parts[0])) == 1 && parts.length == 2 && parts[1].indexOf(" ") >= 0)
{
str_words = parts[1].split("\\s+");
for(int z = 0; z < query_words.length; z++)
{
q_word = query_words[z];
if (str_words.length > z)
{
s_word = str_words[z];
l_index = l_index + ls.levenshtein_d(s_word, q_word);
}
else
{
l_index = 0;
}
l++;
}
if (l_index != -1 && message.length() < 255)
{
levenshtein_i = (l_index / l);
if (levenshtein_i != -1)
{
levenshtein[b] = levenshtein_i;
zeilen[b] = count;
b++;
System.out.println(levenshtein[b] + ":" + zeilen[b]);
}
}
}
}
}
catch (IOException s)
{
}
}
}
Weshalb findet die Wertzuweisung nicht statt?
Vielen Dank
Sebastian Weidenbach