Java 无法执行for循环

Java 无法执行for循环,java,Java,我是java新手,刚刚编写了一个用于学习的程序。 我有两个字符串数组,我想比较两个字符串数组的长度。如果长度相等,则将每个第一个字符串数组的值与每个第二个数组的值进行比较。如果值匹配,则打印该值。 无法纠正问题所在 package com.equal.arrat; import java.util.ArrayList; import java.util.List; public class ArrayEqual { public st

我是java新手,刚刚编写了一个用于学习的程序。 我有两个字符串数组,我想比较两个字符串数组的长度。如果长度相等,则将每个第一个字符串数组的值与每个第二个数组的值进行比较。如果值匹配,则打印该值。 无法纠正问题所在

     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…请留下注释,以便在以下情况下帮助理解缺失的点:任何