单词组合在一起

时间:2013-03-09 11:42:35

标签: java

为什么我的代码将旧单词与新单词组合在一起?输入是“香蕉”输出“香蕉”新输入“狗”输出“bananadgo”?

public static void main(String [] args)
{
    Scanner keyboard = new Scanner(System.in);
    String word, afc, newWord;
    String s="";

    do
    {
        word=keyboard.next().toLowerCase();
        int i =word.length()-1;
        char firstLetter=word.charAt(0);
        afc=word.substring(1);
        newWord= afc+firstLetter;

        for( ; i>=0 ; )
        {
            s += newWord.charAt(i--);
        } 
        System.out.println(word + "," + s);

        if (s.equals(word))
            System.out.println("Words are equal.");
        else
            System.out.println("Words are not equal.");
    }
    while (!(word.equals("quit")));

}

2 个答案:

答案 0 :(得分:1)

您没有在循环开始时清除s变量。

应该是

    Scanner keyboard = new Scanner(System.in);
    String word, afc, newWord;    

    do
    {
        String s=""; 
        ...

答案 1 :(得分:0)

试试这个

public static void main(String [] args)
{
    Scanner keyboard = new Scanner(System.in);
    String word, afc, newWord;
    String s="";

    do
    {
        s = "";
        word=keyboard.next().toLowerCase();
        int i =word.length()-1;
        char firstLetter=word.charAt(0);
        afc=word.substring(1);
        newWord= afc+firstLetter;

        for( ; i>=0 ; )
        {
            s += newWord.charAt(i--);
        } 
        System.out.println(word + "," + s);

        if (s.equals(word))
            System.out.println("Words are equal.");
        else
            System.out.println("Words are not equal.");
    }
    while (!(word.equals("quit")));

}