JAVA程序题 1到100的自然数,任意取两个出来,然后打乱顺序存入一个集合,程序求出取的是哪两个?

1到100的自然数,任意取两个出来,然后打乱顺序存入一个集合,程序求出取的是哪两个?1到100的数在一个数组里,要求只能用这个数组和不超过5个变量,且数组只能遍历一次。请... 1到100的自然数,任意取两个出来,然后打乱顺序存入一个集合,程序求出取的是哪两个?
1到100的数在一个数组里,要求只能用这个数组和不超过5个变量,且数组只能遍历一次。
请用程序方法,不要用数学的方法解,谢谢。
不好意思,没表达清楚。
是这样的:
己经有一个数组,里面的数为1-100这100个数字随机除去两个数字,也就是说有98个数字。
要求是只用这个有98个数字的数组和不超过5个变量,求出到底取出的是哪两个数字,而且数组只能遍历一次。
展开
 我来答
che_5504
2010-01-18 · TA获得超过735个赞
知道小有建树答主
回答量:133
采纳率:0%
帮助的人:134万
展开全部
不是很清楚你的意思,你看是不是这样;
(1):
// 在1~100任意取出2个数字,并保存到另一个集合中
Random r = new Random();
List<Integer> newList = new ArrayList();
for (int i = 1; i < 3; i++) {
int n = r.nextInt(100) + 1;
newList.add(n);
}
// 结果
System.out.print("取出的是");
for (int i = 0; i < 2; i++) {
System.out.print(newList.get(i) + " ");
}
(2):
// 创建一个数组,保存1~100之间的整数
int temp[] = new int[100];
for (int i = 1; i <= 100; i++) {
temp[i - 1] = i;
}
// 任意从数组中取出2个数字,并保存到另一个集合中
Random r = new Random();
List<Integer> newList = new ArrayList();
for (int i = 1; i < 3; i++) {
int n = r.nextInt(100) + 1;
Integer m = temp[n];
newList.add(m);
}
// 结果
System.out.print("取出的是");
for (int i = 0; i < 2; i++) {
System.out.print(newList.get(i) + " ");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
魅影花舞
2010-01-20
知道答主
回答量:40
采纳率:0%
帮助的人:30.6万
展开全部
HashMap行不行? 就是说将剩余的98个数存在一个HashMap中,键和值都从余下的98个数中按顺序取,然后循环1-100,将i作为键取HashMap中i所对应的值,取不到的那俩个不就是随机取出的俩个了么
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黑鹰帝
2010-01-18 · TA获得超过204个赞
知道答主
回答量:160
采纳率:0%
帮助的人:153万
展开全部
(1):
// 在1~100任意取出2个数字,并保存到另一个集合中
Random r = new Random();
List<Integer> newList = new ArrayList();
for (int i = 1; i < 3; i++) {
int n = r.nextInt(100) + 1;
newList.add(n);
}
// 结果
System.out.print("取出的是");
for (int i = 0; i < 2; i++) {
System.out.print(newList.get(i) + " ");
}
(2):
// 创建一个数组,保存1~100之间的整数
int temp[] = new int[100];
for (int i = 1; i <= 100; i++) {
temp[i - 1] = i;
}
// 任意从数组中取出2个数字,并保存到另一个集合中
Random r = new Random();
List<Integer> newList = new ArrayList();
for (int i = 1; i < 3; i++) {
int n = r.nextInt(100) + 1;
Integer m = temp[n];
newList.add(m);
}
// 结果
System.out.print("取出的是");
for (int i = 0; i < 2; i++) {
System.out.print(newList.get(i) + " ");
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cfwzw312
2010-01-17 · TA获得超过655个赞
知道小有建树答主
回答量:358
采纳率:0%
帮助的人:191万
展开全部
这题有意义吗?表达不清
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式