如何在java中打印不同的数组元素?

时间:2016-07-07 11:21:20

标签: java

这里是从数组中的元素列表中打印不同元素的代码(我是从网站上获得的)。

  package pattern;
  import java.util.*;

  class Pattern{
  public static void main(String[] args){

  int[] num=new int[6];

  //method to enter elements inside 'num' array
  System.out.println("Enter the numbers: ");
  getEle(num);

  //method to print distinct elements from array
  System.out.println("Printing distinct elements:");
  printDis(num);      
  }

    public static void getEle(int[] num){

    Scanner in=new Scanner(System.in);
    for(int i=0;i<num.length;i++)
    {
        num[i]=in.nextInt();
    }        
    }

   public static void printDis(int[] num){       
   for (int i=0; i<num.length; i++){

       int j;
    for ( j=0; j<=i; j++)
    {
       if (num[i] == num[j])
           break;
    }

    if (i == j)
      System.out.print(num[i]+" ");
    }
    }           
    }

基本上我没有得到&#39; printDis&#39;功能即。

   public static void printDis(int[] num){

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

       int j;
    for ( j=0; j<=i; j++)
    {
       if (num[i] == num[j])
           break;
    }

    if (i == j)
      System.out.print(num[i]+" ");
    }
    }

有人可以解释我的循环以及这个

           if (num[i] == num[j])
           break;

和。,

      if (i == j)
      System.out.print(num[i]+" ");

此代码可以。

1 个答案:

答案 0 :(得分:0)

这行代码:

if (num[i] == num[j])
break;
当在数组中找到两个相同的元素时,

会突破for ( j=0; j<=i; j++)循环。

这一个:

  if (i == j)
  System.out.print(num[i]+" ");

正在打印数组的匹配元素。

基本上整个代码在num[]的另一个迭代内迭代数组num[]。当找到两个相同的元素时,它会打印出在此数组中出现两次的元素。

相关问题