0

ユーザーが入力した内容で配列内の母音を変更する配列の作成に問題があります。発生した問題は、手紙iを要求すると、inputmismatch.

/******************************************************************************
 * This function will prompt the user to replace all vowels in the array
 ******************************************************************************/
public static void replace( char [] letters )
{
    Scanner scan = new Scanner(System.in);
    System.out.print(" Enter a character for i: ");
    int S = scan.nextInt();

    for(int i = 0; i < letters.length; i++)
    {
        if(letters[i] == 'A' || letters[i] == 'E' || letters[i] == 'I')
        {
            letters[i]= (char)S;
            System.out.print(letters);
        }
    }
}
4

2 に答える 2

2

配列を出力することは、プリミティブ データ型を出力することと同じではありません。あなたが持っているもの

System.out.print(letters);

配列を反復することで配列を印刷できます

for(int k =0;k < letters.length;k++){   
    System.out.println(letters[k]);
}

また、スキャナーはユーザーに数字を要求しています。本当に文字を入力してほしいようです

于 2012-10-30T22:49:30.163 に答える
1

入力から単一の文字を読み取るには、次のScannerように簡単に使用できます。

char s = scan.next().charAt(0);

また

char s = scan.findInLine(".").charAt(0);

1文字だけ消費したい場合。

于 2012-10-30T22:49:32.363 に答える