【问题标题】:Palindrome won't output correcly回文将无法正确输出
【发布时间】:2015-04-20 00:24:31
【问题描述】:

当我编译程序时,在线程“main”中出现错误异常

我不知道为什么。我正在尝试创建一个程序,允许用户输入一个单词,然后输出该单词是否是回文

import java.util.*;

public class Palindrome{

    public static void main( String[] args ){
        String word=getWord();
       boolean w=isPalindrome(word);
       if(w==true)
           System.out.println(word + " is a palindrome");
       else
           System.out.println(word + " is not a palindrome");
    }

    public static String getWord(){
        Scanner keyboard = new Scanner( System.in ); 
        String word;                                                                               
        System.out.print("Enter a word: ");
        word=keyboard.nextLine();
        return word;
    }

   public static boolean isPalindrome(String word){
       int y=word.length();
       for (int i = 0; i < y; i++) {
          if (word.charAt(i) != word.charAt(y-i)
             return false;
        }
        return true;
   }
}

【问题讨论】:

  • 这个问题的标题应该是我有一个编译器错误。为我调试我的代码。你有一个错误;如果有的话,当然输出是错误的。抱歉,如果这听起来很刻薄,但你的标题暗示逻辑错误,而你的问题集中在一个错字上。

标签: java if-statement for-loop methods


【解决方案1】:

if (word.charAt(i) != word.charAt(y-i) 行显然缺少右圆括号。

if (word.charAt(i) != word.charAt(y-i)) 是正确的。

【讨论】:

    【解决方案2】:

    if 语句,大概在该行,缺少一个结束括号

    【讨论】:

    • 基本上 OP 需要在第 33 行查看他的代码,并计算匹配的括号。嗯……
    猜你喜欢
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    • 2011-07-11
    相关资源
    最近更新 更多