Java-给定一个int数组,如果它包含2或3,则print true

Java-给定一个int数组,如果它包含2或3,则print true,java,arrays,integer,Java,Arrays,Integer,我正在学习java1001课程,所以我们不做面向对象编程。我很难找出这个关于数组的问题 给定int数组,如果它包含2或3,则打印true// {2,5}->true// {4,3}->true// {4,5}->false// Scanner keyboard = new Scanner(System.in); int size = keyboard.nextInt(); int[] a = new int[size]; for(int i = 0 ;i<a.length;

我正在学习java1001课程,所以我们不做面向对象编程。我很难找出这个关于数组的问题

给定int数组,如果它包含2或3,则打印true// {2,5}->true// {4,3}->true// {4,5}->false//

 Scanner keyboard = new Scanner(System.in);
  int size = keyboard.nextInt();
  int[] a = new int[size];

  for(int i = 0 ;i<a.length;i++)
    a[i] = keyboard.nextInt();

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

    if(a[i] == 2 || a[i] == 3)
    System.out.println(true);

    else
    System.out.println(false);
扫描仪键盘=新扫描仪(System.in);
int size=keyboard.nextInt();
int[]a=新的int[size];

对于(int i=0;i您可以从使用
break
关键字开始,尽管这不会解决您的问题

 if(a[i] == 2 || a[i] == 3) {
     System.out.println(true);
     break;
 }
休息做什么

Break(中断)简单地停止它在循环中所做的事情。如果您正在循环一个
for循环
,并且不需要再循环,请使用
Break
关键字,它将停止循环

在这种情况下,它将如何工作

一旦循环碰到
2
3
,它将打印出
true
。然后它将碰到
中断
,循环结束

如果它点击了任何其他项,它将移动到
其他项
,并打印
。但是,这不是所需的,因此我们将以稍微不同的方式执行。以下是伪代码:

boolean b = false;

for( i from 0 to size)
{
    if this is a 2 or a 3
       b = true;
       break;
}

// Print the result.
System.out.println(b);

您可以使用
boolean
检查数组是否包含2或3,例如:

boolean isFound=false;
对于(int i=0;i
试试这个:

int tam = a.length;
for(int i = 0 ;i<tam;i++)
   if(a[i] == 2 || a[i] == 3)
   {
      System.out.println(true);
      tam = -1;
   }
   else if (tam == a.length)
      System.out.println(false);
inttam=a.length;

对于(inti=0;i,我希望下面的内容能对您有所帮助

Scanner keyboard = new Scanner(System.in);
int size = keyboard.nextInt();
int[] a = new int[size];
boolean flag = false;

for(int i = 0 ;i<a.length;i++)
a[i] = keyboard.nextInt();

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

if(a[i] == 2 || a[i] == 3){
flag = true;
break;
}

if(flag)
System.out.println("True");
else
System.out.println("False");
扫描仪键盘=新扫描仪(System.in);
int size=keyboard.nextInt();
int[]a=新的int[size];
布尔标志=假;

对于(int i=0;i
,如果第一个整数为true,如何使它停止检查整个数组?
如果要单独检查数组中的第一个整数,可以执行以下操作:

for(int i = 0; I < a.length; i++)
    if(a[i] == 2 || a[i] == 3)
    {
        System.out.println(true);
        break;
    }

if (i == a.length)
    System.out.println(false);
for(int i=0;i
您甚至可以将整个代码放入一个循环中以获得更好的性能,至少在理论上是这样。 考虑:

Scanner keyboard = new Scanner(System.in);
int size = keyboard.nextInt();
int[] a = new int[size];

int pos = -1;
for(int i = 0; i < a.length; i++)
{
    a[i] = keyboard.nextInt();
    if(pos != -1)
    {
        if((a[i] == 2 || a[i] == 3) && )
        {
            pos = i;
        }
    }
}

if(pos == -1)
{
    System.out.println(false);
}
else
{
    System.out.println(true + " (index = " + pos);
}
扫描仪键盘=新扫描仪(System.in);
int size=keyboard.nextInt();
int[]a=新的int[size];
int pos=-1;
for(int i=0;i
你应该自己解决这个问题。一旦遇到2或3,你就可以停止循环并打印true。但是如果遇到其他数字,在循环结束之前不能打印false。使用变量保存结果并在完成后打印结果。这个问题似乎与主题无关,因为它是关于“调试问题”
if(){return;};
无法修复算法。它仍然会打印falsetrue。别忘了括号:)看看我的编辑和伪代码。我已经删除了否决票。但是你应该重写开头,因为它仍然读作“就这样做”,尽管这是错误的。修改。谢谢你的反馈。
Scanner keyboard = new Scanner(System.in);
int size = keyboard.nextInt();
int[] a = new int[size];

int pos = -1;
for(int i = 0; i < a.length; i++)
{
    a[i] = keyboard.nextInt();
    if(pos != -1)
    {
        if((a[i] == 2 || a[i] == 3) && )
        {
            pos = i;
        }
    }
}

if(pos == -1)
{
    System.out.println(false);
}
else
{
    System.out.println(true + " (index = " + pos);
}