Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:打印数组中的每个数字,而不打印该数字的A重复?_Java_Arrays - Fatal编程技术网

Java:打印数组中的每个数字,而不打印该数字的A重复?

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

我试图打印出一个数组,但只打印出该数组中不同的数字。 例如:如果数组有{5,5,3,6,3,5,2,1} 然后它将打印{5,3,6,2,1}

每次我这样做,要么我只打印不重复的数字,在这个例子中是{6,2,1},要么我打印它们全部。然后我没有按照作业的建议做

赋值要求我先检查数组,然后再将值放入数组中,以查看它是否首先存在。如果不是,则添加,如果是,则不添加

现在我只是不断的越界错误或者它只是打印所有的东西

我该怎么办

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