java - for循环中的条件表达式未按预期运行

标签 java for-loop expression conditional-statements palindrome

我似乎无法确定我的代码出了什么问题。在阅读了 String 类之后,我尝试用更短的代码向后打印回文,但除了换行符的执行之外,我在控制台上什么也没有得到。 我认为问题可能出在 for 语句中的条件表达式上,因为当我使用“i <= l && i > -1”并使用 System.print(i +"") 对其进行调试时,我得到了从 17 到 0 的数字列表。那么当前表达式可能有什么问题,为什么我不能使用“i < l && i > -1”?因为我打算使用 16 到 0 之间的数字来代替,这是否有什么非法之处?

public class StephenWork
{
    private String objString ;
    private int index;

    private void makeString ( String objString)
    {
        this.objString = objString;
    }

    private char[] printBackwards ()
    {
        int length = objString.length();
        char [] backwards = new char [length];

        for (index = length ; index < length && index > -1 ; index-- )
        {
            backwards [index] = objString.charAt(index);
        }

        return backwards;   
    }

    public static void main (String ... args)
    {
        String palindrome = "tod saw I was dot";

        int l = palindrome.length();
        char [] backwards = new char [l];

        for ( int i = l; i < l && i > -1 ; i-- )
        {

            //System.out.println(i); //I was using this to debug the value of i
            backwards [i] = palindrome.charAt(i);
        }

        String printPalin = new String (backwards);
        System.out.println(printPalin);

        StephenWork example = new StephenWork ();
        example.makeString("I love Java");
        System.out.println( example.printBackwards());
    }
}

最佳答案

Index 设置为与 length 相同的值,因此循环不会执行,因为条件最初为 false。

关于java - for循环中的条件表达式未按预期运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25539141/

相关文章:

scala - 如何在 Scala 中将命令式双 for 循环转换为函数式风格而不返回?

java - 使用 JFileChooser 选择网络共享

r - 用R中的数组坐标填充矩阵

java - Java中给定的long类型的正数的所有数字的总和

C# 数组不适用于 for 循环

MySQL 使用 RLIKE 表达式删除查询

c++ - 括号是否强制评估顺序并定义未定义的表达式?

java - 正则表达式问题

java - Hibernate Annotation 中的多重模式匹配

java:洗牌,