Java 循环边缘案例问题

Java 循环边缘案例问题,java,loops,for-loop,Java,Loops,For Loop,对不起,如果这个问题看起来很琐碎,但我现在对此感到非常沮丧-我似乎无法理解 for(int i = 0; i < SmallerVals.size(); i++) { vals = SmallerVals.get(i); for(int j = 1; j<(vals.length();j++) { if(Character.isLetter(vals.charAt(j))) { if((j+1)<=vals.length

对不起,如果这个问题看起来很琐碎,但我现在对此感到非常沮丧-我似乎无法理解

for(int i = 0; i < SmallerVals.size(); i++) {
    vals = SmallerVals.get(i);
    for(int j = 1; j<(vals.length();j++) { 
        if(Character.isLetter(vals.charAt(j))) {
            if((j+1)<=vals.length() 
               &&((j+1)!=vals.length())
               && ((vals.charAt(j+1)!= '\''))) {
                    System.out.println("Yes");
            }
        }
        if(vals.charAt(j)=='\'') {
            System.out.println("No");
        }
    }
}
我有一个名为
SmallerVals
的数组列表,其中包含
[ab,ab'c,abce']
我想使用一种迭代机制(用于循环)为arraylist中没有否定的字符数打印
yes
,为有否定的字符数打印
no

for(int i = 0; i < SmallerVals.size(); i++) {
    vals = SmallerVals.get(i);
    for(int j = 1; j<(vals.length();j++) { 
        if(Character.isLetter(vals.charAt(j))) {
            if((j+1)<=vals.length() 
               &&((j+1)!=vals.length())
               && ((vals.charAt(j+1)!= '\''))) {
                    System.out.println("Yes");
            }
        }
        if(vals.charAt(j)=='\'') {
            System.out.println("No");
        }
    }
}
例如,代码应该给出一个输出

for(int i = 0; i < SmallerVals.size(); i++) {
    vals = SmallerVals.get(i);
    for(int j = 1; j<(vals.length();j++) { 
        if(Character.isLetter(vals.charAt(j))) {
            if((j+1)<=vals.length() 
               &&((j+1)!=vals.length())
               && ((vals.charAt(j+1)!= '\''))) {
                    System.out.println("Yes");
            }
        }
        if(vals.charAt(j)=='\'') {
            System.out.println("No");
        }
    }
}
是是是不是是不是

for(int i = 0; i < SmallerVals.size(); i++) {
    vals = SmallerVals.get(i);
    for(int j = 1; j<(vals.length();j++) { 
        if(Character.isLetter(vals.charAt(j))) {
            if((j+1)<=vals.length() 
               &&((j+1)!=vals.length())
               && ((vals.charAt(j+1)!= '\''))) {
                    System.out.println("Yes");
            }
        }
        if(vals.charAt(j)=='\'') {
            System.out.println("No");
        }
    }
}
我的代码似乎跳过了一个
Yes
。我希望你们能帮我。谢谢

for(int i = 0; i < SmallerVals.size(); i++) {
    vals = SmallerVals.get(i);
    for(int j = 1; j<(vals.length();j++) { 
        if(Character.isLetter(vals.charAt(j))) {
            if((j+1)<=vals.length() 
               &&((j+1)!=vals.length())
               && ((vals.charAt(j+1)!= '\''))) {
                    System.out.println("Yes");
            }
        }
        if(vals.charAt(j)=='\'') {
            System.out.println("No");
        }
    }
}
代码如下:

for(int i = 0; i < SmallerVals.size(); i++) {
    vals = SmallerVals.get(i);
    for(int j = 1; j<(vals.length();j++) { 
        if(Character.isLetter(vals.charAt(j))) {
            if((j+1)<=vals.length() 
               &&((j+1)!=vals.length())
               && ((vals.charAt(j+1)!= '\''))) {
                    System.out.println("Yes");
            }
        }
        if(vals.charAt(j)=='\'') {
            System.out.println("No");
        }
    }
}
for(int i=0;ifor(int j=1;j我建议您使用嵌套的
for循环
来扫描字符串(假设没有空字符串):

for(int i = 0; i < SmallerVals.size(); i++) {
    vals = SmallerVals.get(i);
    for(int j = 1; j<(vals.length();j++) { 
        if(Character.isLetter(vals.charAt(j))) {
            if((j+1)<=vals.length() 
               &&((j+1)!=vals.length())
               && ((vals.charAt(j+1)!= '\''))) {
                    System.out.println("Yes");
            }
        }
        if(vals.charAt(j)=='\'') {
            System.out.println("No");
        }
    }
}
for(int i=0;i
你能解释一下“否定”是什么吗?我想这是‘他在说什么。哦,是的,我不好的否定是ab'cSo中的b’,如果是字母,你想说“是”,如果是“'”你想说“否”,对吗?不,如果只是一个字符,就应该说“是”,如果是一个字符后跟“'”你想说“否”例如,ab'c应该给出是否是。我认为你不明白我的意思,你的代码基本上是为字母表打印“是”,否则就打印“否”。这似乎很简单。如果字符后面跟一个否定,我希望代码为字符打印“否”。例如,b'应该是否。不是,是否。@TusharSharma我误解了,你的措辞是错误的令人困惑。在这里我更新了代码。它似乎仍然有问题-尝试这个ArrayList[ab',ab,abce']。输出应该是:是不是是No@TusharSharma哦,我明白了,
ArrayList
包含一个元素:
“[ab',ab,abce']”
,我以为你的意思是它包含3个元素
ab'
ab
abce'
。这就是你的意思吗?不,你想得对,它包含3个元素。ab',ab和abce。你的代码没有给出我在之前的评论中提到的输出。