Java将数组元素与变量进行比较

时间:2017-04-04 05:09:45

标签: java arrays for-loop

全新的Java,我正在编写一个具有初始化数字数组的程序,以及一个包含单个整数的变量B。我想要做的是让我的程序将数组元素与B进行比较,然后打印没有数字B的数组。这是我目前写的一个例子。

我希望在没有17的情况下打印数组。坚持在我写完之后要做什么。

public class Harrison7b
{
   public static void main(String [] args)
   {
      int[]arrayA = {2,4,8,19,32,17,17,18,25,17};


      for(int B = 17; B < arrayA.length - 1; B++)
      {


      }
   }
}

6 个答案:

答案 0 :(得分:1)

你需要一个单独的计数器变量来迭代Array i,e; i并且要检查您的号码是否存在于数组中,您必须使用if statement

public class Harrison7b{
    public static void main(String[] args) {
        int B = 17;
        int[] arrayA = { 2, 4, 8, 19, 32, 17, 17, 18, 25, 17 };
        for (int i = 0; i < arrayA.length; i++)
            if (arrayA[i] != B) {
                System.out.print(arrayA[i]);
                System.out.print(i<arrayA.length-1? " ":"");
            }
    }
}

答案 1 :(得分:0)

public class Harrison7b
{
   public static void main(String [] args)
   {
      int[]arrayA = {2,4,8,19,32,17,17,18,25,17};


      for(int B = 17; B < arrayA.length - 1; B++)
      {

for (int i=0;i<arrayA.length;i++)
if(arrayA[i]==B)
System.out.println(B);
      }
   }
}

答案 2 :(得分:0)

您可能需要一个单独的计数器变量来迭代数组,或者只使用foreach循环作为@DM提到。我们使用一个计数器,比如i。然后你需要检查整数是否在数组中。让我们使用if条件。

然后您的代码将如下所示:

public class Harrison7b
{
   public static void main(String [] args)
   {
      int[]arrayA = {2,4,8,19,32,17,17,18,25,17};


      int B = 17;

      for(int i = 0; i < arrayA.length; i++)
      // Or you may use just for(int x:arryaA)
      {
          if (arrayA[i] != B)
              System.out.println(arrayA[i]);
      }
   }
}

答案 3 :(得分:0)

public class Harrison7b
{
   public static void main(String [] args)
   {
      int[] arrayA = {2,4,8,19,32,17,17,18,25,17};

      int num=17;

      for(int B = 0; B < arrayA.length; B++)
      {
          if(arrayA[B] == num){
              continue;
          }

          System.out.println(arrayA[B]);


      }
   }
}

你应该从0索引开始循环到长度或数组。在每次迭代中,将数字与数组的当前元素进行比较。如果它们匹配,则continue与下一次迭代匹配,以便不打印该数字。

这是一个非常简单的程序,我建议你在寻求帮助之前花时间思考。

答案 4 :(得分:0)

试试这个:

    int[]arrayA = {2,4,8,19,32,17,17,18,25,17};
    int myVar = 17;

    for(int i = 0; i < arrayA.length; i++){
        if (arrayA[i] != myVar){
            System.out.print(arrayA[i]);
        }
    }

这将打印出与17 //myVar不相同的数字。

答案 5 :(得分:0)

将Java 8流与filter

一起使用
public class Main {
    public static void main(String[] args) {
        int[] myArray = {2,4,8,19,32,17,17,18,25,17};
        int valueToRemove = 17;

        // create a new array
        int[] newArray = Arrays.stream(
            myArray
        ).filter( // keep the values that aren't the value to remove
            value -> value != valueToRemove
        ).toArray();

        // print out the array
        for (int i : newArray) {
            System.out.println(i);
        }
    }
}