2015-06-29 67 views
1

在這個節目,我想:添加和印刷陣列

-transfers歷史是這樣的:「1 -3000」,「2 300」

- 當我添加傳遞我想計劃支持先選擇菜單

我做錯了什麼?我的begginer頭腦告訴我應該工作......但不會。

package ejavakurs1; 

import java.util.Scanner; 

public class printF { 
    public static void main(String[] args) { 
     int[] bankTransfer = new int[100]; 

     Scanner skaner = new Scanner(System.in); 
     System.out 
       .print("1 - Show history\n2 - Add Bank Transfer\n3 - End\n Choose: "); 
     int a = skaner.nextInt(); 

     do { 
      switch (a) { 
       case 1: 
        System.out.println(bankTransfer); 
        break; 

       case 2: 
        System.out.print("Type Bank Transfer: "); 
        int b = skaner.nextInt(); 
        for (int i = 0; i < bankTransfer.length; i++) { 
         bankTransfer[i + 1] = b; 
        } 
        break; 

       case 3: 
        break; 
      } 
     } while (a == 3); 
    } 
} 
+1

從什麼,我認爲你的程序需要做的是做出某種歷史的變化,對嗎?我建議不要使用'Int []'而是'List ',在這裏你可以追加更改而不需要人工處理索引。 – tilois

+0

好吧,我會檢查「列表」,現在我沒有使用這個,因爲在練習中我必須使用基本數組。 – HelicoP

回答

2

如果你希望你的循環將持續到3它打字,你應該改變

while (a==3) 

while (a!=3) 

此外,bankTransfer[i+1]= b;將拋出ArrayIndexOutOfBoundException。它應該是bankTransfer[i]= b;

+0

案例2的'for'循環也有問題。 –

+0

@RobinKrahl謝謝 – Eran

0

使它像

while(a!=3); 

,因爲要重複它,直到值不是3

+0

爲什麼你重複3分鐘前給出的答案? – Turing85

+0

我指出,所以寫了... –