Java:打印数组中的每个数字,而不打印该数字的A重复?
我试图打印出一个数组,但只打印出该数组中不同的数字。 例如:如果数组有{5,5,3,6,3,5,2,1} 然后它将打印{5,3,6,2,1} 每次我这样做,要么我只打印不重复的数字,在这个例子中是{6,2,1},要么我打印它们全部。然后我没有按照作业的建议做 赋值要求我先检查数组,然后再将值放入数组中,以查看它是否首先存在。如果不是,则添加,如果是,则不添加 现在我只是不断的越界错误或者它只是打印所有的东西 我该怎么办Java:打印数组中的每个数字,而不打印该数字的A重复?,java,arrays,Java,Arrays,我试图打印出一个数组,但只打印出该数组中不同的数字。 例如:如果数组有{5,5,3,6,3,5,2,1} 然后它将打印{5,3,6,2,1} 每次我这样做,要么我只打印不重复的数字,在这个例子中是{6,2,1},要么我打印它们全部。然后我没有按照作业的建议做 赋值要求我先检查数组,然后再将值放入数组中,以查看它是否首先存在。如果不是,则添加,如果是,则不添加 现在我只是不断的越界错误或者它只是打印所有的东西 我该怎么办 import java.util.Scanner; public clas
import java.util.Scanner;
public class DistinctNums {
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int value;
int count = 0;
int[] distinct = new int[6];
System.out.println("Enter Six Random Numbers: ");
for (int i = 0; i < 6; i++)
{
value = input.nextInt(); //places users input into a variable
for (int j = 0; i < distinct.length; j++) {
if (value != distinct[j]) //check to see if its in the array by making sure its not equal to anything in the array
{
distinct[count] = value; // if its not equal then place it in array
count++; // increase counter for the array
}
}
}
// Displays the number of distinct numbers and the
// distinct numbers separated by exactly one space
System.out.println("The number of distinct numbers is " + count);
System.out.print("The distinct numbers are");
for (int i = 0; i < distinct.length; i++)
{
System.out.println(distinct[i] + " ");
}
System.out.println("\n");
}
}
import java.util.Scanner;
公共类区{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(System.in);
int值;
整数计数=0;
int[]distinct=新的int[6];
System.out.println(“输入六个随机数:”);
对于(int i=0;i<6;i++)
{
value=input.nextInt();//将用户输入放入变量中
for(int j=0;i
如果顺序不重要,可以使用长度为10的帮助数组进行此操作
int [] intputArray = {5,5,3,6,3,5,2,1};
int [] helpArray = new int[10];
for(int i = 0; i < intputArray.length ; i++){
helpArray[intputArray[i]]++;
}
for(int i = 0; i < helpArray.length ; i++){
if(helpArray[i] > 0){
System.out.print(i + " ");
}
}
int[]intputArray={5,5,3,6,3,5,2,1};
int[]helpArray=新的int[10];
for(int i=0;i0){
系统输出打印(i+“”);
}
}
请始终记住-如果您想要元素的单个副本,则需要使用设置。
集合是不同对象的集合
在Java中,有一种称为HashSet的东西。如果您希望维护订单,请使用LinkedHashSet
int [] intputArray = {5,5,3,6,3,5,2,1};
LinkedHashSet<Integer> set = new LinkedHashSet<Integer>();
//add all the elements into set
for(int number:intputArray) {
set.add(number);
}
for(int element:set) {
System.out.print(element+" ");
}
int[]intputArray={5,5,3,6,3,5,2,1};
LinkedHashSet=新LinkedHashSet();
//将所有元素添加到集合中
用于(整数编号:intputArray){
设置。添加(编号);
}
for(int元素:set){
系统输出打印(元素+“”);
}
是否允许您使用Java集合,如HashSet
?@markspace我不确定。我们关注的章节是一维数组。他们到处使用列表,但我没有看到任何哈希集,但在这一点上,我会尝试任何东西。如果你还没有学会,你可能不应该尝试。(你的讲师给你讲授作弊了吗?)你必须自己编一套:考虑用一个较小的想法来解决问题:如何追踪一个数字是“在”一组数字中(或者在你的情况下,如何追踪一个数字是否已经被打印)。他通常不会很快回复电子邮件,或者我会向他寻求帮助。一个好的实现方法是手工完成,然后基本上在计算机上重现这些步骤。这就产生了一种通常可以完成任务的算法。当然,不能保证效率P