Java 无法执行for循环
我是java新手,刚刚编写了一个用于学习的程序。 我有两个字符串数组,我想比较两个字符串数组的长度。如果长度相等,则将每个第一个字符串数组的值与每个第二个数组的值进行比较。如果值匹配,则打印该值。 无法纠正问题所在Java 无法执行for循环,java,Java,我是java新手,刚刚编写了一个用于学习的程序。 我有两个字符串数组,我想比较两个字符串数组的长度。如果长度相等,则将每个第一个字符串数组的值与每个第二个数组的值进行比较。如果值匹配,则打印该值。 无法纠正问题所在 package com.equal.arrat; import java.util.ArrayList; import java.util.List; public class ArrayEqual { public st
package com.equal.arrat;
import java.util.ArrayList;
import java.util.List;
public class ArrayEqual {
public static void main(String[] args) {
String s[] = {"anuj","kr","chaurasia"};
String s1[] = {"anuj","kr","chaurasia"};
if (s.length==s1.length)
{
System.out.println(s.length);
for (int i =0 ; i>=s.length;i++)
{
for (int j =0 ;j>=s1.length;j++)
{
System.out.println("test");
if (s[i].equals(s1[j]))
{
System.out.println("ok" + s[i]);
}
else{
System.out.println("not ok");
}
}
}
}
else{
System.out.println("Length Not Equal");
}
}
}
使用了不正确的逻辑。你的意思是
=
应该是
for (int i =0 ; i<s.length;i++)
for(int i=0;i您的循环不正确。请重试
for (int i=0; i<s.length; i++)
{
for (int j=0; j<s1.length; j++)
{
for(int i=0;i循环条件检查的中存在错误。此行-
for (int i = 0; i >= s.length; i++)
for (int j = 0; j >= s1.length; j++)
应改为:
for (int i = 0; i < s.length; i++)
for (int j = 0; j < s1.length; j++)
为此—
for (int i = 0; i < s.length; i++)
for (int j = 0; j < s1.length; j++)
for(int j=0;j
将(inti=0;i>=s.length;i++)的更改为
for (int i =0 ; i<s.length;i++)
for(int i=0;i=s.length(本例中为3)
因此,for循环将不会执行您的比较器在for循环中处于关闭状态。这可能是它不工作的原因
if (s.length==s1.length)
{
System.out.println(s.length);
for (int i =0 ; i<s.length;i++)
{
for (int j =0 ;j<s1.length;j++)
{
System.out.println("test");
if (s[i].equals(s1[j]))
{
System.out.println("ok" + s[i]);
}
else{
System.out.println("not ok");
}
}
if(s.length==s1.length)
{
系统输出打印长度(s长度);
对于(int i=0;i首先你说i
和j
为0,然后检查循环是否大于s.length
,这是false,因此它不会执行。试试看
for (int i =0 ; i<s.length;i++)
{
for (int j =0 ;j<s1.length;j++)
{
for(int i=0;i
在第一次迭代中,i=0
和s.length=3
和i>=s.length
将转换为0>=3
,这是错误的,因此循环将不会执行。如果要比较两个字符串数组的长度,则应该是i。如果长度相等,则将每个第一个字符串数组的值与值进行比较所以你不能用这个=
来比较长度
试试看
for (int i =0 ; i<s.length;i++)
{
for (int j =0 ;j<s1.length;j++)
{
用于(int i=0;i使用@FatalError:抱歉,忘记删除=
部分。感谢您指出这一点。@Downvoter:注释通常有助于更正错误。codei@Littlebird只需检查两个数组是否包含相同的元素。请参阅Downvoter…请留下注释,以便在以下情况下帮助理解缺失的点:任何