並べ替えメソッドがあり、メソッドが行う移動をカウントしたいのですが、カウントする必要がある変数は何もカウントしません。読み取ると0になります。
//En variabel för att man ska lagra info i 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" 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;'
ここに私が使用するオブジェクトがあります
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;
}
}
値をファイルに書き込もうとすると、「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 i filen
out.println(bubble.allatal[k]);
}
//Lagrar tiden också i 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); // i get "0"