2

こんにちは、入力が回文であるかどうかを (端末内で) チェックするプログラムを作成するのに忙しいです (Variabels はオランダ語で申し訳ありません)。入力は逆の入力 (例: うんち) と一致する必要がありますが、代わりに次のように表示されます。今、私は家にいます。正確な結果が得られるように修正するにはどうすればよいですか?

また、配列からテーブルを作成して、値を示す a をカウントし、b をカウントする必要があります... 9 とスペースまで、これについても正しい方向にプッシュしてもらえますか? (必要ありませんが、実際には私の関数の何が問題なのか知りたいです) public static void main (String[] args) {

String ui = ""; //ui = User Invoer
String palin = "";
String temp = "";
String answer = "";
int uiLength;
int klinkers = 0;
int woorden = 0;
int palinLength;
boolean zoektWoord= true; 

Scanner sui= new Scanner(System.in);
System.out.println("Voer een (echte) zin in:");
ui = sui.nextLine().trim();
uiLength = ui.length();
temp=ui.replaceAll( "[^A-Z a-z 0-9]", "");

    for (int q = 0; q< temp.length(); q++)
    {
        char aChar = temp.charAt(q);
            if (65 <= aChar && aChar<=90)
            {
                aChar = (char)( (aChar + 32) ); 
            }
        palin+=aChar;
    }

    for (int qw=0; qw<palin.length(); qw++)
    {
        if (palin.charAt(qw) == 'a'||
            palin.charAt(qw) == 'e'||
                palin.charAt(qw) == 'o'||
                palin.charAt(qw) == 'i'||
                palin.charAt(qw) == 'u')
            klinkers ++;
    }


    for (int x=0; x<palin.length(); x++)
    {       
        if (palin.charAt(x) == ' ') 
        {
        zoektWoord=true;
        }
    else{
        if(zoektWoord) woorden++;
        zoektWoord = false;

        }
    }
String nilap = new StringBuilder(palin).reverse().toString();
/*Als palin PRECIES gelijk is aan het omgekeerde DAN is het een palindroom*/
if (palin==nilap)
{
    answer="Jazeker, op de letter";
}
else 
{   
    answer="Nee, probeer opnieuw of ga naar huis";
}

    palinLength = palin.length();


System.out.println("Lengte ongefilterde zin: " + uiLength + " karakters" );
System.out.println("Gefilterde zin:\n" + palin );
System.out.println("Lengte gefilterde zin: " + palinLength + " karakters" );
System.out.println("Aantal 'woorden': \t" + woorden );
System.out.println("Aantal klinkers:\t" + klinkers );
System.out.println("Palindroom?\t" + answer );

    }

}

4

2 に答える 2

1

文字列を比較しない==

これを試して:-

if (palin.equals(nilap))
于 2013-09-15T19:04:10.710 に答える