谁能帮我解一下java语言程序设计编程习题6.15题

如题所述

import java.util.HashSet;
import java.util.Set;

public class Test {

public static void main(String[] args) {
int[] nums = { 1, 2, 3, 2, 1, 6, 3, 4, 5, 2 };

int[] numsss = change(nums);
for (int i : numsss) {
System.out.println(i);
}

}

public static int[] change(int[] nums) {
Set<Integer> items = new HashSet<Integer>();
for (int a : nums) {
items.add(a);
}
int[] numss = new int[items.size()];
int i = 0;
for (Integer item : items) {
numss[i] = item;
i++;
}
return numss;
}

}

这样子

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-01-11
import java.util.Scanner;

public class what{

public static void main(String args[]){
Scanner input = new Scanner(System.in);

//提示输入
System.out.print("Enter ten numbers: ");
int[] a = new int[10];
for(int i = 0; i < 10; i++)
{
a[i] = input.nextInt();
}
System.out.print("The distinct numbers are: ");
int[] b = {1,2,3,2,1,6,3,4,5,3};
for(int i = 0; i < 10; i++)
{
for(int j = 9; j > i; j--)
{
if(a[i] == a[j])
{
b[j] = -1;
}
}
}

//输出
for(int i = 0; i < 10; i++)
{
if(b[i] == 1)
{
System.out.print(a[i] +" ");
}
}

}
}追问

但是结果不对

追答

你把int[] b中全改为1

可以了吧

追问

什么意思?

追答

import java.util.Scanner;

public class what{

public static void main(String args[]){
Scanner input = new Scanner(System.in);

//提示输入
System.out.print("Enter ten numbers: ");
int[] a = new int[10];
for(int i = 0; i i; j--)
{
if(a[i] == a[j])
{
b[j] = -1;
}
}
}

//输出
for(int i = 0; i < 10; i++)
{
if(b[i] == 1)
{
System.out.print(a[i] +" ");
}
}

}
}

追问

对了,真是感谢~

本回答被提问者采纳
相似回答
大家正在搜