求助 求助!!!2个 java 编程的问题

老师给了2道题目不会做。。。请求各位帮忙。。。第一道题目是一个array中有10个数字,然后把重复数字去除。比方说输入1232163452显示出123645第二道题目是判... 老师 给了 2道题目 不会做。。。 请求 各位帮忙。。。

第一道题目 是 一个 array 中 有 10个数字,
然后把 重复 数字 去除。
比方说 输入 1 2 3 2 1 6 3 4 5 2
显示出 1 2 3 6 4 5

第 二道 题目是 判断 2个 array 里面的 内容 是否一样。
比方说 输入
array 1 :5 5 2 6 1 6
array 2 : 5 2 5 6 6 1
结果是: 他们是一样的。

请各位 不要用 太高深 的 指令。。。
我是初学者 。。。只学到 if, loop, array 这些 基本的而已。。。。

谢谢各位了。。。。
hey...我还没学到 Arrays.sort...有没有 更原始的方法。。。
展开
 我来答
flyingFish211
2010-12-01 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
最原始的只能这样排序后处理了,完整代码如下:
public class Test {

public static void main(String args[]) {

int[] ary = {1, 2, 3, 2, 1, 6, 3, 4, 5, 2};

//Ary will be sorted as {1, 1, 2, 2, 2, 3, 3, 4, 5, 6}
sortArray(ary);

//output
int previous = ary[0];
System.out.print(previous);

for(int i = 1; i < ary.length; i++){
if(ary[i] != previous){
previous = ary[i];
System.out.print("\t" + ary[i]);
}
}

System.out.println();

int[] ary1 = {5, 5, 2, 6, 1, 6};
int[] ary2 = {5, 2, 5, 6, 6, 1};

sortArray(ary1);
sortArray(ary2);

if(ary1.length != ary2.length){
System.out.println("Different array because of size");
}

boolean isSameAry = true;
for(int i = 0; i < ary1.length; i++){
if(ary1[i] != ary2[i]){
isSameAry = false;
System.out.println("Different array because of item");
break;
}

}

if(isSameAry){
System.out.println("Same array!");
}

}
//Sort array
private static void sortArray(int[] ary) {
for(int i = 0; i < ary.length; i++){

for(int j = i; j < ary.length; j++){
if(ary[j] < ary[i]){
int temp = ary[i];
ary[i] = ary[j];
ary[j] = temp;
}
}

}
}

}

---------------------------
1 2 3 4 5 6
Same array!
kingofsong
2010-11-29 · TA获得超过168个赞
知道小有建树答主
回答量:230
采纳率:100%
帮助的人:83.3万
展开全部
问一:
Map m=new HashMap();
for (int i;i<list.size,i++){
m.put(array.get(i),array.get(i));
}
迭代输出M的值就行了
问二
Map m=new HashMap();
Map m1=new HashMap();
for (int i;i<array1.size,i++){//两个array的size应该是一样的吧!
m.put(array1.get(i),array1.get(i));
m.put(array2.get(i),array2.get(i));
m1.put(array1.get(i),array1.get(i));
}
之后比较m.size与m1.size是不是一样,不一样说明内容是不同的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
永远丹笑
2010-11-29 · TA获得超过192个赞
知道答主
回答量:130
采纳率:100%
帮助的人:111万
展开全部
问题1用Set解决,set不能保存同样的实例
int[] arr1 = { 1, 2, 3, 2, 1, 6, 3, 4, 5, 2 };
for (int i = 0; i < arr1.length; i++) {
System.out.println(arr1[i]);
}
System.out.println("*******************");
Set set = new HashSet();
for (int i = 0; i < arr1.length; i++)
set.add(arr1[i]);
Iterator it = set.iterator();
while (it.hasNext()) {
Integer in = (Integer) it.next();
System.out.println(in);
}
问题2用Arrays来解决
int[] array1 = { 5, 5, 2, 6, 1, 6 };
int[] array2 = { 5, 2, 5, 6, 6, 1 };
Arrays.sort(array1);
Arrays.sort(array2);
System.out.println(Arrays.equals(array1, array2));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zht110227
2010-11-30 · TA获得超过136个赞
知道小有建树答主
回答量:290
采纳率:0%
帮助的人:240万
展开全部
其实,你知道思想就可以自己调试写出来的。
1。循环A数组,取出一个数来,放到另外一个数组里面(B数组),然后在取出一个数字,看B数组里面有没有这个数字,没有就放进去,有就不放,最后输出B数组就行了。
2。循环A数组,取出一个数字,判断B数组中,是否包含这个数字,一直处理完A数组,就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tmdniqusi
2010-11-30 · TA获得超过422个赞
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:97.4万
展开全部
第一题
int[] ary = {1, 2, 3, 2, 1, 6, 3, 4, 5, 2};
int maxValue=0;
for(int i=0;i<ary.length;i++){
if(ary[i]>maxValue)maxValue=ary[i];
}
int[] array=new int[maxValue];
for(int i=0;i<ary.length;i++){
array[ary[i]]=1;
}
for(int i=0;i<array.length;i++){
if(array[i]==1)
System.out.println(i);
}
第二题 也可用上面方法解 或者先对两个数组分别排序 然后一一比较
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式