Я хочу, чтобы Переберите мой ArrayList таким образом, что,Java: цикл и умножать
, если ИНТ я = 0 = Ь (0), то исключить Ь (0) и умножить
b.get(1)*b.get(2) = 3*6
, если ИНТ я = 1 = Ь (1), он будет исключить Ь (1) и умножить
b.get(0)*b.get(2) = 1*6
, если ИНТ я = 2 = Ь (2), он будет исключить Ь (2) и умножить
b.get(0)*b.get(1) = 1*3
Я пытался, но это не то, что я хотел
1*3
1*6
3*1
3*6
6*1
6*3
код
ArrayList<Integer> b = new ArrayList<Integer>();
b.add(1);
b.add(3);
b.add(6);
for(int i = 0; i < b.size(); i++) {
for(int j = 0; j < b.size(); j++) {
if(b.get(i) != b.get(j)) {
System.out.println(b.get(i) + "*" + b.get(j));
}
}
}
Делая это
for(int i = 0; i < b.size(); i++) {
for(int j = i+1; j < b.size(); j++) {
if(b.get(i) != b.get(j)) {
System.out.println(b.get(i) + "*" + b.get(j));
}
}
}
я получить выход
1*3
1*6
3*6
что неправильно.
Желаемая выход
3*6
1*6
1*3
Я думаю, что я не очень хорошо объяснил свой вопрос, что я хотел, если, например, я начинаю цикл, начинаем с int = 0 = b (0), который равен 1, он устранит b (0) = 1 и просто умножим b (1) и b (2) так 3 * 6, теперь int i = 1 = b (1), поэтому он устранит b (1) и умножит b (0) и b (2), так что 1 * 6 и, наконец, теперь int = 2 = b (2), поэтому он устранит b (2) и умножит b (0) и b (1), который равен 1 * 3 – user3429531
, выполнив для (int j = i + 1; j user3429531
@ user3429531 См. edit. – user2336315