Java variable doesn't increment, stays at 0 -
i have sorting method , want count moves method does, variable should count doesn't count anything, 0 when read it.
//en variabel för att man ska lagra info den //tillfällig lagring. int temp; int forflyttningarbubble = 0; int jamforelse = 0; //loopar, loopen är inte mer än storleken på arrayen for(int i=0;i<allatal.length-1;i++ ) { //en till loop for(int j=i+1;j<allatal.length;j++) { //om talet peckaren pekar på större än det andra //talet så ska programmet jamforelse++; if (allatal[i] > allatal[j]) { forflyttningarbubble++; forflyttningarbubble++; forflyttningarbubble++; //lagrar värdet array "i" temp temp = allatal[i]; //Överför "j" till "i" allatal[i] = allatal[j]; //temp värdet överförs till "i" allatal[j] = temp; forflyttningarbubble++; } } } statistik bubbledata = new statistik(jamforelse, forflyttningarbubble, allatal); return bubbledata;'
here object use
public class statistik { public int jamforelse; public int byten; public int[] allatal; public statistik(int jamforelse, int byten, int[] allatal) { this.byten = byten; this.allatal = allatal; this.jamforelse = jamforelse; } }
when try write value file "0"
//starttid long starttime = system.nanotime(); //anropar metoden statistik bubble = bubblesort(allatal); //sluttiden long endtime = system.nanotime(); //för att få ett svar på tiden long duration = endtime - starttime; double seconds1 = (double)duration / 1000000000.0; //gör en loop som är lika lång som arrayen for(int k=0;k<bubble.allatal.length-1;k++){ //lagrar informationen filen out.println(bubble.allatal[k]); } //lagrar tiden också filen out.println("bubblesort (nano): " + duration); out.println("antal sekunder: " + seconds1); out.println("förflyttningar: " + bubble.byten); out.println("jämförelser: " + bubble.jamforelse + "\n\n"); system.out.print(bubble.byten); // "0"
the answer lies within code
bubblesort(allatal);
which has number of flaws in it. basically, there little handling of cases fall near edges. array of 0 elements never fall inner loop, , never update byten
field. same happen array of 1 element.
have verified input assure have enough elements sort? small inputs (arrays of size 0 or one) pass through "already sorted", are; but, not require actual manipulation.
Comments
Post a Comment