java - 我发现我的输出有一个小问题!谁能说出我的代码发生了什么?

标签 java palindrome

This is my function

public static String  isPalindrome(String str) {
    String test = "";
    String anotherStirng="";
    for (int i = str.length()-1; i >= 0; i--) {
        test = test + str.charAt(i);
    }
    return anotherStirng = (str.equals(test) ? "yes" : "no");

}

main is here ...

Scanner scanner = new Scanner(System.in);
    int numberOfInput = scanner.nextInt();
    String str ="";
    String result="";
    for (int i=0;i<numberOfInput;i++){
            str = scanner.nextLine();
            result = isPalindrome(str);
            System.out.println(result);

当我在控制台中输入输入数量(例如 3 或 4)时,它会自动说"is",然后工作正常

最佳答案

你忘记了“scanner.nextLine();”在读取 int 值后的代码中。 解释为什么你需要这条线是 Here

    Scanner scanner = new Scanner(System.in);
    int numberOfInput = scanner.nextInt();
    scanner.nextLine();   // ADDED LINE
    String str ="";
    String result="";
    for (int i=0;i<numberOfInput;i++){
            str = scanner.nextLine();
            result = isPalindrome(str);
            System.out.println(result);
    }

关于java - 我发现我的输出有一个小问题!谁能说出我的代码发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53746104/

相关文章:

java - 在 Hadoop 中找不到类异常

java - 不在办公室 Lotus Domino 特工

Java Palindrome 赋值 - boolean 值总是返回 False 值

Java/jmeter http请求失败但curl可以工作

java - JAIN SIP 481 对 BYE 消息的响应

java - 运行时中的远程 SSH 命令退出并显示代码 255

C - 从单行给出回文列表

javascript - 为什么这个函数在第一次迭代后不退出?

javascript - 递归检查字符串是否为回文的算法的时间复杂度是多少?

c++ - 堆栈和队列以测试回文