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

Java将数组元素与变量进行比较,java,arrays,for-loop,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,1

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++)
      {


      }
   }
}
公共类Harrison7b
{
公共静态void main(字符串[]args)
{
int[]arrayA={2,4,8,19,32,17,17,18,25,17};
for(int B=17;B
公共级哈里森7b
{
公共静态void main(字符串[]args)
{
int[]arrayA={2,4,8,19,32,17,17,18,25,17};
for(int B=17;B对于(int i=0;i您可能需要一个单独的计数器变量来迭代数组,或者只使用@DM提到的foreach循环。让我们使用一个计数器,比如说
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]);
      }
   }
}
公共类Harrison7b
{
公共静态void main(字符串[]args)
{
int[]arrayA={2,4,8,19,32,17,17,18,25,17};
int B=17;
for(int i=0;i
公共级哈里森7b
{
公共静态void main(字符串[]args)
{
int[]arrayA={2,4,8,19,32,17,17,18,25,17};
int num=17;
for(int B=0;B
您应该从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]);
        }
    }
int[]arrayA={2,4,8,19,32,17,17,18,25,17};
int-myVar=17;
for(int i=0;i
这将打印出与
17//myVar

使用Java 8流时不同的数字


您需要一个单独的计数器变量来迭代
Array
i,e;
i
,为了检查数组中是否存在您的数字,您必须使用
if语句

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? " ":"");
            }
    }
}
公共类Harrison7b{
公共静态void main(字符串[]args){
int B=17;
int[]arrayA={2,4,8,19,32,17,17,18,25,17};
for(int i=0;i系统输出(I您的意思是要删除数组中的17???1/创建一个新数组
arrayB
2/迭代
arrayA
3/从
arrayA
复制到
arrayB
中,如果
arrayA
中的num不是17?一些潜在读数:从B=0开始;?我希望变量与数组进行比较,因为变量是17安d数组中有17个我希望它打印出带有17个Removed的数组看起来你需要重新阅读关于
for
循环如何工作的章节。挑剔:“你需要一个单独的计数器变量来迭代数组。”-不,不是真的。
for(int x:myArray)
很好。@DM是的。这是真的。由于我是初学者,所以这个答案对我来说非常简单,你也可以问两个问题。如果我想使用方法调用来实现这一点,那可能吗?我如何将数组中的数字分开,使它们不会如此密集?
    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]);
        }
    }
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);
        }
    }
}
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? " ":"");
            }
    }
}