2015-06-29 3 views
1

В этой программе я хочу:Добавление и печать массивов

история

-Трансфера выглядит следующим образом: «1 -3000», «2 300»

-когда добавить перевод я хочу программировать спину к первому выберите меню

Что я сделал не так? Мое начинание говорит мне, что нужно работать ... но не будет.

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

Цикл 'for' для случая 2 также имеет проблемы. –

+0

@RobinKrahl Спасибо – Eran

0

сделать это как

while(a!=3); 

потому, что вы хотите повторить его, пока значение не является 3.

+0

Почему именно вы повторяете ответ, данный 3 минуты назад? – Turing85

+0

Я указал, что так написал это ... –

Смежные вопросы