Как разрешить циклу for печатать мой objectList - PullRequest
0 голосов
/ 14 сентября 2018

Привет, я хочу поставить свои отпечатки в цикл.как это сделать?Так что-то вроде

if index = 0,1,2 print. 
if index = 2,3,4 print.
if index = 4,5,6 print.

Код:

     ArrayList<Object> objectList = new ArrayList<Object>(res);

     System.out.println("\n\nThis starts to look like calculations:");
     System.out.print("\n" + objectList.get(0));
     System.out.print(" "+ objectList.get(1));
     System.out.print(" " + objectList.get(2) + " =");

     System.out.print("\n\n" + objectList.get(2));
     System.out.print(" " + objectList.get(3));
     System.out.print(" " + objectList.get(4)+ " =");

     System.out.print("\n\n" + objectList.get(4));
     System.out.print(" " + objectList.get(5));
     System.out.print(" " + objectList.get(6) + " =");

вывод: это начинает выглядеть как вычисления:

1 + 3432.123 =

3432.123 * 4535 =

4535 - 24.4 =

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

Окончательное решение теперь размер строки больше не имеет значения.

    ArrayList<Object> objectList = new ArrayList<Object>(res);
    System.out.print("\n\nThis starts to look like calculations:");
    int maxi= objectList.size();
    maxi = maxi -2;
    System.out.println("\n\nmaxi = " + maxi);

    for (int i = 0; i < maxi; i+=2) {

        System.out.println("");
        System.out.println(i);
        System.out.print("\n\n" + objectList.get(i));
        System.out.print(" " + objectList.get(i + 1));
        System.out.print(" " + objectList.get(i + 2)+ " ="); 
0 голосов
/ 14 сентября 2018
private String buildOperation(int pos){
    String output;
    if(pos == 0) {
        output = "+";
    }else if(pos == 1){
        output = "*";
    }else {
        output = "-";
    }
    return output;
}

List<Object> objectList  = new ArrayList(res);

for(int i = 0; i < objectList.size()-1; i++){
    System.out.println(objectList.get(i) + buildOperation(i) + objectList.get(i+1) + "=");    
}

Дополнительно я буду использовать HashMap с операциями, чтобы избежать всех условий if / else

Map<Integer,String> operations = new HashMap{}
operations.put(0,"+");
operations.put(1,"*");
operations.put(2,"-");


System.out.println(objectList.get(i) + operations.get(i) + objectList.get(i+1) + "=");

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...