- ベストアンサー
Javaプログラミングの宿題:アルファベットの変換と非母音文字のカウント
- Javaのプログラムで、アルファベットの変換と非母音文字のカウントを行う。
- ユーザーに整数の入力を促し、その値に対応するアルファベットを出力する。
- 配列の要素をループし、非母音文字の数を計算して出力する。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ここ? Fall 2011: Introduction to Computer Science II, ICS 211 University of Hawaii http://www2.hawaii.edu/~esb/2011fall.ics211/hw1.html 訳すとこんな感じ―― 以下のJavaアプリケーションを作成してください: 1)クラスScanner型の変数を宣言します。 2)長さ26のString型配列を宣言し、英小文字a~zを要素とするよう初期化します。 3)整数値の入力を促すプロンプトを表示し、(1)で宣言したScanner型変数のメソッドnextIntを使って、整数値を取得します。 4)整数値に対応する英小文字を出力します。入力値0なら文字「a」、25なら「z]です。 5)長さ27の配列を新たに作成し、文字列「 」(空白文字1文字からなる文字列。)を添え字0の配列要素に代入します。続いて、(2)の配列要素を、新たな配列(の添え字1からの場所)へコピーします。これを実現する簡単な方法は、メソッドSystem.arraycopy()を使用することです。 6)(5)の配列をループ(すなわち配列要素を列挙する。)して、以下の処理を行うこと。 6-1)列挙要素が母音(「a」「e」「i」「o」「u」)であれば、大文字で出力する。 6-2)列挙要素が母音でなければ、そのままで出力する。 7)ループ終了後、非母音文字の数(多分22=アルファベット26-母音5+空白1)を出力します。 (必須要件) ・プログラムはメソッドnetxtIntが励起する例外InputMismatchExceptionを捕捉できなければいけない。例外を捕捉した場合、適切なエラーメッセージを出力し、プログラムを終了させる。 ・プログラムはその他の入力誤りにも対応しなければいけない。たとえば、-1が入力された場合や、26より大きい数値を入力されたときなど。 ・配列のループを記述する際は、ループ回数を直接数字で指定しないこと。配列長を求めるには、配列のフィールドlengthが使用できる。 ・System.arraycopy()の引数の並び方と、引数の意味を覚えておくこと。後々の授業で役立つため。 ……英語苦手なので、訳し間違いがあるかも。(6)の配列は、(2)で作成した配列かもしれない。
その他の回答 (3)
- osamuy
- ベストアンサー率42% (1231/2878)
おっと、プログラムの仕様のところの話ではなかったですか。
Scanner クラスを用いて nextInt() でユーザー入力値を取得。 それを用いて最初に作成した アルファベットの配列から取得する。 たぶん悩んでる部分はここかな。 #nextInt() は 標準入力等から入力された数値が取得できますよ。
補足
解答ありがとうございます。 nextInt()で入力値取得→配列からアルファベット取得 の流れはできました! 今は最後のrequirementsのところで悩んでいます。 おそらくtry,catchを使うと思うのですが(ここから間違ってたらすみません)うまくいきません。 どこでtryを使えばいいのか、catchのあとの()の中はInputMismatchExceptionでいいのか?どう書けばいいのかがわかりません。 わかりましたら解答、もしくはヒントでもいいのでいただけたらありがたいです。
- Tacosan
- ベストアンサー率23% (3656/15482)
なんかよくわからないことが書いてある問題だしぎりぎり言うと requirements におかしな点はあるけど, それはさておき. 「数だけ宣言する」とか「a~zまでを先に宣言してしまう」とかって何を言いたいのでしょうか?
補足
言葉足らずですみません。 String[] array = new String [26]; もしくは String[] array = {"a","b"・・・} でやるかと そういう意味です。 日本語でなんて説明していいのかいまいちわからないもので。 とりあえず自分でまだ進めています。 見ていただきありがとうございます。
お礼
あ、お恥ずかしながらまさにそこです。 全訳ありがとうございます! そうなんですよ、ループはどっちの配列を使えばいいのかわからなかったのですが とりあえず一通り終えて提出しました! とても参考になりました! 僕も英語苦手で、常に苦労してます。 どうもありがとうございました。