如何仅在数组中显示不同的值,Java编程

如何仅在数组中显示不同的值,Java编程,java,arrays,Java,Arrays,这是我在这里的第一篇文章,我想知道如何删除数组中已经输入的元素。周一交的作业。控制台将以不同的方式打印所有输入的值,这意味着它将只打印只输入一次的值 人们将被提示“输入一个整数”十次,系统将获取这些值并删除任何重复项,但只显示输入的两个值中的一个。即,如果输入两次17,则只显示前17个 这是我到目前为止的代码 import java.util.Scanner; import java.util.Arrays; public class Unit03Prog2 { p

这是我在这里的第一篇文章,我想知道如何删除数组中已经输入的元素。周一交的作业。控制台将以不同的方式打印所有输入的值,这意味着它将只打印只输入一次的值

人们将被提示“输入一个整数”十次,系统将获取这些值并删除任何重复项,但只显示输入的两个值中的一个。即,如果输入两次17,则只显示前17个

这是我到目前为止的代码

    import java.util.Scanner;   
    import java.util.Arrays;



public class Unit03Prog2 {

public static void main(String[] args) {
  //Array
int Numbers[] = new int[10];


Scanner Numb = new Scanner(System.in);

for(int i=0; i < Numbers.length; i++){

System.out.print("Enter an integer: "); 

      //Stores it, and moves to the next line         
     Numbers[i]= Numb.nextInt();



//Removes duplicates

//Code to remove duplicates goes here VVVV




//Ends it if i = 10
if(i == Numbers.length)
{
        break;

    }





//End of for statement

}

System.out.println("The number of distinct values is  " + Arrays.toString(Numbers)); 



//end of main method

}


//end of Class

}
应该说不同值的数量是111314151719

谢谢各位,
Joshua.

您可以使用
集合来解决它:

    import java.util.HashSet;
    import java.util.Scanner;
    import java.util.Arrays;
    import java.util.Set;


    public class Main {

        public static void main(String[] args) {
            //Array
            int Numbers[] = new int[10];
            Set<Integer> integerSet = new HashSet<>();
            Scanner Numb = new Scanner(System.in);
            for(int i=0; i < Numbers.length; i++){
                System.out.print("Enter an integer: ");
                //Stores it, and moves to the next line
                Numbers[i]= Numb.nextInt();

                //Removes duplicates
                //Code to remove duplicates goes here VVVV
                integerSet.add(new Integer(Numbers[i]));

                if(i == Numbers.length) {
                    break;
                }

            }
            System.out.println("The number of distinct values is  " + Arrays.toString(integerSet.toArray()));

        }

    }
import java.util.HashSet;
导入java.util.Scanner;
导入java.util.array;
导入java.util.Set;
公共班机{
公共静态void main(字符串[]args){
//排列
整数[]=新整数[10];
Set integerSet=new HashSet();
扫描仪编号=新扫描仪(System.in);
for(int i=0;i
是的,请使用仅包含唯一元素的集合来实现您的目的

也许您需要保持输入的顺序,但Set不保持顺序。 我认为您需要一个逻辑来删除数组中的重复记录,对吗? 试试这个:

import java.util.HashSet;
import java.util.Scanner;
import java.util.Arrays;
import java.util.Set;


public class Main {

    public static void main(String[] args) {
        //Array
        int Numbers[] = new int[10];         
        Set<Integer> integerSet = new HashSet<>();
        Scanner Numb = new Scanner(System.in);
        for(int i=0; i < Numbers.length; i++){
            System.out.print("Enter an integer: ");
            //Stores it, and moves to the next line
            Numbers[i]= Numb.nextInt();           
            integerSet.add(new Integer(Numbers[i]));             
        }
        //Array to keep unique items with same sequence of input
        int uniqueNumbers[] =  new int[integerSet.size()];
        integerSet= new HashSet<>();
        for(int i=0;i<Numbers.length;i++){
            if(!integerSet.contains(Numbers[i])){
                uniqueNumbers[integerSet.size()]=Numbers[i];
                integerSet.add(Numbers[i]);
            }
        }
        System.out.println("The number of distinct values is  " + Arrays.toString(uniqueNumbers));

    }
import java.util.HashSet;
导入java.util.Scanner;
导入java.util.array;
导入java.util.Set;
公共班机{
公共静态void main(字符串[]args){
//排列
整数[]=新整数[10];
Set integerSet=new HashSet();
扫描仪编号=新扫描仪(System.in);
for(int i=0;i对于(int i=0;i替换代码以删除重复项。我建议在插入数组之前检查重复项。如果输入的数字重复,则跳过它并读取下一个输入

import java.util.Scanner; 
import java.util.Arrays;

public class Unit03Prog2 { 
   public static void main(String[] args) {
       //Array 
       int Numbers[] = new int[10];
       Scanner Numb = new Scanner(System.in);
       int j = 0;
       int inputNumber;
       boolean isDuplicate;

       for(int i=0; i < Numbers.length; i++){ 
           isDuplicate = false;
           System.out.print("Enter an integer: "); 

           //Stores it, and moves to the next line 
           inputNumber = Numb.nextInt(); 

          //Removes duplicates 
         //Code to remove duplicates goes here VVVV //Ends it if i = 10 
         for (int k=0; k<j; k++) {
             if(inputNumber == Numbers [k]) {
                 isDuplicate = true;
                 break;
              }
          }

          if(! isDuplicate) {
                Numbers[j++] = inputNumber;
           }
      //End of for statement 
      } 

      System.out.println("The number of distinct values is " + Arrays.toString(Numbers)); 
  //end of main method 
  } 
//end of Class
}
import java.util.Scanner;
导入java.util.array;
公共类Unit03Prog2{
公共静态void main(字符串[]args){
//排列
整数[]=新整数[10];
扫描仪编号=新扫描仪(System.in);
int j=0;
输入整数;
布尔是双的;
对于(int i=0;i
inta[]={1,2,3,4,5,1,2};

对于(inti=0;i
if(i==Numbers.length){break;}
:在循环结束时是完全没有必要的;你的“for”循环已经做到了。是的,我今天意识到了,已经删除了它。哈哈,谢谢你,尽管如此,谢谢你!我非常紧张。谢谢你所有的回复,我没想到我会那么快得到答案!是的,谢谢你们所有人,你们都给出了很好的回答这正是我需要的。
import java.util.Scanner; 
import java.util.Arrays;

public class Unit03Prog2 { 
   public static void main(String[] args) {
       //Array 
       int Numbers[] = new int[10];
       Scanner Numb = new Scanner(System.in);
       int j = 0;
       int inputNumber;
       boolean isDuplicate;

       for(int i=0; i < Numbers.length; i++){ 
           isDuplicate = false;
           System.out.print("Enter an integer: "); 

           //Stores it, and moves to the next line 
           inputNumber = Numb.nextInt(); 

          //Removes duplicates 
         //Code to remove duplicates goes here VVVV //Ends it if i = 10 
         for (int k=0; k<j; k++) {
             if(inputNumber == Numbers [k]) {
                 isDuplicate = true;
                 break;
              }
          }

          if(! isDuplicate) {
                Numbers[j++] = inputNumber;
           }
      //End of for statement 
      } 

      System.out.println("The number of distinct values is " + Arrays.toString(Numbers)); 
  //end of main method 
  } 
//end of Class
}
    int a[] = {1,2,3,4,5,1,2};
    
    for(int i=0; i<a.length;i++) {
        int count = 0;
        for(int j=0; j<a.length;j++) {
            if(a[i]==a[j] && i!=j) {
                count++;
                break;
            }
        }
            if(count == 0) {
                System.out.println(a[i]);
                
            }
    }
}