• ベストアンサー

配列の問題

Javaを学校で習ってまだ2ヶ月ちょっとの初心者です。 困っております。 以下のようなプログラムを作成しています。 数時間かけても分からなかったので、ご回答お願いします。 1.配列(aとします)の大きさ(bとします)を、コマンドプロンプト上で指定します。 2.配列 a の i 番目の要素(0<=int i<b)に、整数値 x を代入します。 (xは、コマンドプロンプト上で指定できる、int型の任意の整数で、b個分あるような整数です。) 3.数値 x をすべて印字します。 1.は何とか分かるのですが、2.がいまいち出来ません。 なので、先に進めず、困っております。 ご回答よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nao-y
  • ベストアンサー率58% (111/190)
回答No.3

#1です。 #2の方が回答例を書かれているので、そちらを参考にされるのが早いでしょうね。 >ここまでで、配列 a の大きさを、コマンドプロンプト上で決めることが出来るようになっています。(一応、添削お願いします。) 特に問題ないと思います。 ただ、#2の方の回答のようにエラー処理(入力が数値じゃなかった場合にエラーになるので)が考慮されているともっといいと思います。 ただ、この try{…} … catch(…){…} に関しては、授業で習っていなければ今は考えなくていいかと思います。 >ここから、2.の内容を書き込むことが出来ずに困っている次第です。 2の内容をどのようにコード化すればよいかが分からない、ということですね。 2の内容をコード化できる単位で文章にしてみてはいかがでしょう?以下のようになると思います。 (1) i=0からb-1までの間、以下(2)~(3)を繰り返す。   1回ごとにiを1増やす。 (2) xをコマンドプロンプト上に入力させる。 (3) 入力されたxを整数型に変換してa[i]に代入する。 ほぼそのまま答えになっちゃってますが(汗)、 #2の方の回答と見比べて考えてください。 繰り返し文(for, whileなど)を使うところがポイントでしょうか。

jun-nosuke
質問者

お礼

ご解答有難うございます。 お陰様で、何とかプログラムが完成いたしました。 この場を持って、お礼をさせていただきます。 分からないことがあったときは、また質問させていただきたいと思います。そのときは、よろしくお願いします。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

import java.io.*; import java.util.*; public class IntArrayInput { public static void main(String argv[]){ int [] a; int b; Scanner keyboard = new Scanner(System.in); System.out.print("配列のサイズを入力>"); try{ b = keyboard.nextInt(); a = new int[b]; for(int i=0;i<b;i++){ System.out.print("整数を入力、a[" + i + "]="); a[i]=keyboard.nextInt(); } for(int i=0;i<b;i++){ System.out.printf("a[%d]=%d%n",i, a[i]); } } catch(InputMismatchException e){ System.out.println("入力誤り!"); } } }

jun-nosuke
質問者

お礼

ご回答有難うございます。 なにか高度な感じが致します。 これをみて、勉強したいと思います。 また分からないことがあったら、質問したいと思います。 そのときはまた、よろしくお願いします。

  • nao-y
  • ベストアンサー率58% (111/190)
回答No.1

「いまいち出来ません」とは、どういう状況ですか? コードを書いてみたけど動かない、ということでしょうか?それとも何から手をつけたらいいかわからない、 という状況ですか? ある部分はわかるけど、別の部分はわからない、 ということであれば、わかる部分とわからない部分を書き出してみていただけますか?そしたらアドバイスできると思います。

jun-nosuke
質問者

お礼

ご回答有難うございます。 補足質問に載せましたので、よろしくお願いします。

jun-nosuke
質問者

補足

import java.io.*; class jun { public static void main(String[] args){ String oneLine; while( true ) { oneLine = myConsoleInputLine( "整数を入力してください: " ); if( oneLine.length() == 0 ) break; int i = Integer.parseInt( oneLine ); int [] a = new int[i]; ここまでで、配列 a の大きさを、コマンドプロンプト上で決めることが出来るようになっています。(一応、添削お願いします。) ここから、2.の内容を書き込むことが出来ずに困っている次第です。 よろしくお願いします。

関連するQ&A