【发布时间】:2021-05-14 09:11:37
【问题描述】:
我是编码新手,我想知道如何编码这个程序以匹配数组。 (苹果和 1 号匹配,香蕉和 2 号匹配,芒果和 3 号匹配)我使用了 assert fruits.size() == numbers.size();,但它仍然无法正常工作,有什么办法可以解决这个问题吗?
package example;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import javax.swing.JOptionPane;
public class Example {
public static void main(String[] args) {
final StringBuilder generator = new StringBuilder();
final List<String> fruits = Arrays.asList("apples", "bananas", "mangos");
final List<Integer> numbers = Arrays.asList(1, 2, 3);
Collections.shuffle(fruits);
Collections.shuffle(numbers);
assert fruits.size() == numbers.size();
for (int i = 0; i < fruits.size(); i++) {
int a = i+1;
final String name = JOptionPane.showInputDialog(null, "Enter person " + a + "'s name");
generator.append(name)
.append(" likes ")
.append(fruits.get(i))
.append(" and the number ")
.append(numbers.get(i))
.append("\n");
}
JOptionPane.showMessageDialog(null, generator);
}
}
我希望输出是:
Alex 喜欢芒果和数字 3
约翰喜欢苹果和数字 1
简喜欢香蕉和数字 2
代替:
Alex 喜欢芒果和数字 1
约翰喜欢香蕉和数字 3
简喜欢苹果和数字 2
【问题讨论】:
-
你为什么不用地图?你的情况是禁止的吗?
标签: java arrays arraylist shuffle parallel-arrays