Java-给定一个int数组,如果它包含2或3,则print true
我正在学习java1001课程,所以我们不做面向对象编程。我很难找出这个关于数组的问题 给定int数组,如果它包含2或3,则打印true// {2,5}->true// {4,3}->true// {4,5}->false//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;
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);
}