2013-12-11 172 views
-2

我正在編寫一個跟蹤內存的程序。最大內存爲3000,一旦達到該數字,輸入的進程將被拋入等待的Q(單獨的框)。我的問題是我有一個多達7個元素的數組,但是當我輸入第一個元素時,它輸出7次。我不知道還有什麼我需要改變有7個不同的元素輸出。我有一個數組,但只輸出第一個元素

int processes[]= new int [7]; 

String s1 = IDbox.getText(); 
String s2 = IDsize.getText(); 
int x; 
for (x=0;x<processes.length;x++) 
{     
    if (totalmem <= 3000) 
    { 
     memory.append(s1 + "  " + s2); 
     memory.append("\n"); 

     totalmem = totalmem + idsize;  
    } 
    else 
    { 
     memory.setText("Memory is already full"); 
     //throw into waiting queue 
     waitingQ.append(s1 + "  " + s2); 
     waitingQ.append("\n"); 
    }  
}//end for 
+1

除了代碼沒有意義的事實(你從不使用x或者過程),你的語句是錯誤的,你沒有一個最多7個元素的數組,你有一個正好有7個元素的數組,總是爲陣列的整個生命週期。 – MrBackend

回答

0

整型數組的大小是7,而你的int[]數組聲明是錯誤的。

這樣做:

int memory = 3000; 
int[] processes = new int[memory]; 

我還要for循環內聲明int x = 0。針對範圍問題。

相關問題