• 締切済み

javaの初心者向けプログラムの宿題です

「指定された値の倍数を10個表示するプログラム」 です。 選択授業で取ったjavaプログラミングの宿題ですが行き詰ってしまいました。 部分的にはなんとなく理解できるのですが、全体像がつかめません。 流れだけでもご教示願います。 (1)値の入力を促す「数値入力」メッセージを表示し、文字列入力を待機する。 (2)その入力から文字列を取得して文字列をint型の数値に変換。 (3) 入力された文字列が数値以外の場合は、例外(NumberFormatException)が発生した場合に、メッセージ「半角数字で数値指定」を表示してアプリケーションを終了。 (4) 倍数を表示できる数値の範囲は、2以上100未満、範囲外の数値が入力された場合にはメッセージ「[入力から取得した数値]の倍数は表示できません。0から100までの数値を指定してください。」を表示してアプリケーションを終了。 注) 処理を開始するメッセージを表示し、入力された数値の倍数を標準出力に10個表示する。 各数値は、タブ(¥t)で区切り、5個表示毎に改行。 倍数は、0を含めて表示。 よろしくおねがいします。

みんなの回答

回答No.2

まだ配列無しなのか・・・forは有りなのかな? > 入力した値(仮にnとする)を式に入れてやるには、どのように入力すればよろしいでしょうか? > String line=reader.readLine(); この行でキーボードからの入力を文字列として変数に入れました。 > line=reader.readLine(); この列は要らないかな、2回目の読み込みは不要では。 > int number=Integer. parseInt(line); この列で文字列の値を数値に変換しました このnumberが入力された数字なので、計算するには int hoge = number * 2; のように書けば numver*2 の値が hoge 変数に入ります。 > for文の内容は > for(int n=2;ni<100;n++); > for(int j=0j;n<20;j++); > System out.println((i*n)); nとかniとかjとか0jとかiとか色々ありますが、ここでの繰り返しは「0~9」があれば良いので、 for( int i=0; i<=9; i++ ){ // 繰り返す処理 } となります。 forと配列無しの場合は単純に手作業で0~9まで掛けて表示してあげればおk。 System out.print( (number*0) + "\t" ); System out.print( (number*1) + "\t" );  : System out.println( (number*9) ); ちなみに配列というのは「添え字を付けて複数の値を入れられる変数」です。 int[] kekka = new int[10]; と宣言すれば、kekka[0]~kekka[9]までに別の数値を入れる事が出来ます。 またこの[0]や[9]のような数字は変数で記述出来ますので、例えば int[] kekka = new int[10]; for( int i=0; i<=9; i++ ){ kekka[i]=i; } とすれば、kekka[0]には数値の0が、kekka[1]には数値の1が、・・・、kekka[9]には数値の9が入ります。 勉強用のHPなんかは「java 入門」とかで検索すると山ほど出てきますので、 自分で見易い、分かり易い所を参考にしてみてください。

kariyushi7
質問者

お礼

丁寧に解説してくださり本当にありがとうございます。 四苦八苦しながら少しずつ進めています。

すると、全ての回答が全文表示されます。
回答No.1

倍数って何との倍数ですか?0含めて10個って事は単純に0~9? 流れはこんなんで。 1) 値を受取る 2) 数値チェック、数値でなければ終了、そうで無ければint化 3) 数値が範囲内かチェック、範囲外なら終了 4) forで0~9まで回してそれぞれの積を配列に入れる 5) 配列の中身を表示 4と5については一々配列に入れず1個ずつ表示するという手もありますが、 一旦値を保存した方が便利なのでこの形の方が良いかな

kariyushi7
質問者

お礼

私のような未熟者に回答いただいてありがとうございます。 >倍数って何との倍数ですか?0含めて10個って事は単純に0~9? そうでう。受け取った値に対して0~9で乗算します。↓のように途中まで書いてみましたが挫折しました。 mport java.io.*; public class PracticalExercises1{ public static void main(String[]args){ System.out.println("数値を入力する。"); BufferedReader reader=new BufferedReader(new InputStreamReader(System.in)); try{ String line=reader.readLine(); line=reader.readLine(); int number=Integer. parseInt(line); }catch(IOException e){ System.out.println(e); }catch (NumberFormatException e){ System.out.println("半角数字で数値指定してください。"); 教えていただいた1)~5)のような流れになることはわかるのですが 入力した値(仮にnとする)を式に入れてやるには、どのように入力すればよろしいでしょうか? for文の内容は for(int n=2;ni<100;n++); for(int j=0j;n<20;j++); System out.println((i*n)); このようにしてみたのですが・・・ 配列というのをまだならっていないのでよくわかりませんが調べてみます。 もし詳しく書いてるようなHPがありましたら教えてくださればありがたいです。

すると、全ての回答が全文表示されます。

関連するQ&A