View Full Version : [FRAGE] - Arraystellen vergleichen
Hallo!
Die Aufgabe ist man soll den Unterschied zwischen 2 Arraystellen ausgeben (Bsp Hammingdistanz) also 00 01 wäre 1 oder 000 111 wäre 3. Jetzt hab ich das so gemacht aber es haut nicht hin. Es kommt immer 0 raus
for(int i=0; i<store.length; i+=2) {
for(int j=0; j<wordlength; j++) {
if(store[i].charAt(j)!=store[i+1].charAt(j))
hamcount++;
}
}
Kann mir vielleicht wär weiter helfen? Bitte wäre echt super
schaut eigentlich richtig aus. Wie schaut dein store genau aus? Hast ein Beispiel?
so wie's ausschaut, kann der Fehler eigentlich nur im "wordlength" liegen, glaub ich
was kommt beim debuggen raus?
for(int i=0; i<store.length; i+=2)
{
for(int j=0; j<wordlength; j++)
{
EprogIO.println(i+","+j+": "+store[i].charAt(j)+" ?= "+store[i+1].charAt(j)));
}
}
Das ganze lese ich mit einer for Schleife ein und übergib das in an store. Müsste doch passen oder?
Das Problem ist, dass er gar nie in die if-Verzweigung reinspringt und deswegen kommt immer 0 raus
for (input=EprogIO.readWord(); (input.charAt(0)=='0')==true||
(input.charAt(0)=='1')==true; input=EprogIO.readWord()) {
wordcount++;
output+=input;
try {
for(int i=0; i<store.length; i++)
store[i]=input;
}
catch (IndexOutOfBoundsException e)
{spezError=true;}
}
Die Aufgabe ist man soll den Unterschied zwischen 2 Arraystellen ausgeben (Bsp Hammingdistanz) also 00 01 wäre 1 oder 000 111 wäre 3. Jetzt hab ich das so gemacht aber es haut nicht hin. Es kommt immer 0 raus
bin gerade nicht wirklich zurechnungsfähig. probiere dennoch eine schleife
hamm=0;
for(int i=0; i<length; i++)
if(a.charAt[i]!=b.charAt[i])
hamm++;
roger?
sorry, schlechter tag. // René
Wenn's für mehrere Werte gehen sollte, mach nicht den Fehler, einfach eine Schleife darüber zu tun. Damit tust Du Dir beim Debuggen schwer -- ich kenne mich bei Deinem Code nicht wirklich aus. Sondern:
public int hamdistanz(String a, String b) {
// siehe vorher
}
und dann on demand aufrufen, da geht dann sehr wohl eine schleife:
println(hamdistanz(x[1], x[2])) oder sowas.
hoffe, die idee ist klar. Code ist so natürlich nicht compilierbar.
Hallo!
Kennn mich bei deinem Code jetzt zwar auch nicht gut aus aber die Übergabe vom input kann nicht hinhauen. Weil es würde ja dann immer jede Zahl an jede Stelle des Arrays übergeben werde. Also weg mit der for-Schleife und einfach i++ einfügen, das dann bei jedem Schleifendurchlauf von input erhöht und an der richtigen Stelle im Array speichert.
Klar?
vBulletin® v3.7.1, Copyright ©2000-2009, Jelsoft Enterprises Ltd.