0
我有一个排序方法,我想要计数移动的方法,但应计数的变量不计算任何东西,我只读0当我读它。Java变量不增加,停留在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"
请勿使用瑞典语变量名称。尝试在代码中使用英语(字符串除外),甚至是评论。它看起来非常丑陋。在这里获得任何帮助将会更加困难。 – maba
哪个变量不改变值? 'forflyttningarBubble'?你在哪里测试它? – maksimov
再次点击查看,我添加了更多信息。谢谢@maksimov –