• ベストアンサー

switch文について

学校の演習で、 「整数を入力し、それが0~9の場合は"入力された数は0以上9以下の整数です"、10~19の場合は"入力された数は10以上19以下の整数です"、 20以上であれば"入力された数は20以上の整数です"、 と出力するプログラムをswitch文を使って作成せよ。」 と言う問題が出てるのですが、参考書を読んでもサッパリ分かりません。 どなたか分かる方いらっしゃいましたら、 御回答の方をよろしくお願いします。

  • elmes
  • お礼率59% (59/100)
  • Java
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • liwet
  • ベストアンサー率72% (18/25)
回答No.1

そのまま回答を書くと演習にならないので... switch case 文では、普通は1つのcase文ごとにステートメントを書きますね。 それを、case文複数に対して、まとめて処理をするようなステートメントを書くということが出来ます。 参考URLにありますが、caseのところのステートメントを書かない、ということが出来ます。 switch (i) { case 1: case 2: case 3: System.out.println("3以下です"); break; default: System.out.println("1,2,3以外です"); } こんな感じです。 参考なったでしょうか? まぁ、普通は「0以上9以下」というのは if 文で判断しますが...

参考URL:
http://www.hellohiro.com/basic/switch.htm
elmes
質問者

お礼

アドバイスありがとうございます☆ 何とか無事に解決できました。

関連するQ&A

  • switch文とwhile文を用いたプログラムに関して

    swich文とwhile文を用いたプログラムについて 授業の課題で、swich文とwhile文を用いたプログラムを作りなさい。いう課題が出ました。 5桁以上9桁以下の正の整数を入力し、4で割り切れたとき、何桁の数字かを出力。4でわって1余ったとき、すべての桁の合計を出力。3余ったとき、与えられた数の逆を変数に代入し、その変数を出力(単純に表示するわけではなく、数字として表示) といったものです。 途中からの授業参加で、C言語に関する知識はほとんどありません。do文を用いたプログラムは見つけれたのですが、while文とswich文を用いろということなので、do文は使えないです。 どなたか教えていただけませんか? 今日中にわからないとちょっとやばいです・・・。 よろしくお願いします

  • switch文 defaultについて

    switch文で曜日を表示するプログラムを作成したいのですが、 任意の月の1日を日曜日とし、入力された日にち(変数date)の曜日を変数dayとしました。 day=(date-1)%7 とし、day=0のとき日曜日、day=1のとき月曜日、・・・、day=6のとき土曜日とします。 dateに0以下の数が入力されたとき、default文で「その月は1日から始まります。」 dateに32以上の数が入力されたとき、default文で「その月は31日までです。」 といったエラーを表示させたいと思います。 1つのswitch文の中に2種類のdefault文をどうやって書いたらいいのかわかりません。 switch文以下のプログラムは、以下のように書いてみました。 day=(date-1)%7; switch(day) { case 0: printf("1月%d日は日曜日です。",date); break; case 1: printf("1月%d日は月曜日です。",date); break; case 2: printf("1月%d日は火曜日です。",date); break; (case 3~case 5も同様に書く。) case 6: printf("1月%d日は土曜日です。",date); break; default: printf("1月は31日までです。"); /*dateに32以上の数が入力された場合のエラー表示*/ break; default: printf("1月は1日から始まります。"); /*dateに0以下の数が入力された場合のエラー表示*/ break; } しかし、1つのswitch文にdefault文は1つしか書けませんよね? 入力された日によってdefault文を使い分けるにはどうしたらよいのでしょうか。

  • switch文での変数の扱い方について

    以前の質問ではお世話になりました。今回もよろしくお願いいたします。 今日C言語の授業で小数点で平均点を入力して、平均点と5段階評価(A, B, C, D, E)を表示するプログラムの作成を作りました。 その際評価の判定にはswitch文を使い、評価の条件は以下の通りです。 90以上をA 85以上89以下をB--------2 80以上85以下をC--------3 70以上79以下をD それ以外(69以下)をE 最初に先生より上記の条件で「switch文で完成できる」と言われたのがずっと頭に引っかかっていて、なんとかswitch文で作ろうと思いずっと悩んでいましたが、switch文のdefaultをなくして2段階に分かれている部分とEの評価の部分をif文で処理するか、 switch文ですべての点数(case 80: case 81: ... case 84:)を直接switch文で打つかの2つしか思いつきませんでした。 そこで皆さんにお聞きしたいのが、こういう問題の際に評価の処理をswitch文を中心に行いたい場合、みなさんでしたらどのように処理なされていらっしゃいますか? 今後のプログラミングの勉強としてぜひとも知りたいです。 どうかお願いいたします。

  • C言語についてなんですが

    プログラムの作成で分からないところがあります。 「二つの整数値を読み込み、小さいほうの数以上で大きい数以下の 整数を全て加えた値を表示するプログラムをdo文を使って 作成せよ。」 下の図のようにしたいです。 2つの整数を入力せよ。 整数A:37 整数B:28 28以上37以下の全整数の和は325です。 よろしくお願いします。

  • プログラミング for文

    for文を使い以下のように出力させたいのですが、 うまくいかないので教えていただけないでしょうか? 入力する整数の数:n 1個目の整数は:(1) 2個目の整数は:(2)  :  : n個目の整数は:m すべての合計は:  平均は:  n、(1)、(2)、m、はキーボード入力です。 わかる方よろしくお願いします。

  • C言語 ループの問題

    キーボードから入力される整数を読み込み、その中で10以上の数の個数を数えてその都度出力し、0が入力されたら止まるようなプログラムをwhile文を使って作成するとき、if文をどのようにつかうかがわかりません。

  • C言語の勉強しています。教えてください

    私は現在大学生でC言語が面白そうなので独学しているのですが、分からない点があり、参考書に解答も付属していないのでどなたか教えていただけると非常に助かります。 (参考書名:新版 明解C言語 入門編 著者:柴田望洋) p65の演習4-3 問題:2つの整数値を読み込んで、小さい方の数以上で大きい方の数以下の整数を全て加えた値を表示するプログラムを作成せよ。 (例)このように表示させたい 2つの整数を入力して下さい。 整数1:37(←例です。ここの数はscanfを利用して手動で打ち込みます) 整数2:28 28以上37以下の全整数の和は325です。 これまでに学習した事を利用して解きたいのでまず、自分でプログラムを書いてみますので訂正していただければ非常に助かります。 どうかお願いします

  • C言語の授業で

    C言語の授業で -------------------- 3以上の整数を入力してください:10 素数は以下の数です: 7 5 3 2 素数は4個ありました -------------------- という感じの、入力した数以下の素数を表示するプログラムをwhile文を用いて作成するように言われたんですが・・・。 まず、while文と素数を表示するプログラムがよくわからないので、もう何をすればいいのか・・・。 どうか、ご教授お願いします。

  • for文を使って。

    プログラミングを勉強している初心者ですが、以下の問題につまずいてしまいました。 「10000以下の任意の数を入力して、10000からその数を引くことのできる回数を調べるプログラムを作成せよ。」 for文とデクリメント演算子を使ってつくろうとしているのですが…。 詳しいアドバイスお願いします!!

  • 【JAVA】配列の要素の平均について

    JAVAで質問となります。 以下のプラグラムを教えていただきたいです。 ____________________ n 個の要素で構成される int 型の配列を引数として受け取り,配列内の全要素の平均値を返すメソッドを作成してください. また,コマンドライン入力に整数値を入力すると,作成したメソッドを使用して,入力した整数値の平均値を求め,結果を標準出力に出力するプログラムを作成してください. このプログラムを作成する際は,以下の要件を満たすように作成してください:  【メソッド】 配列内の全要素の平均値を求めるメソッドは,以下の仕様とする: メソッド名:calcAverage 引数:配列 - int 型の配列 戻り値:平均値 - double 型 内容:引数として受け取った配列のすべての要素の平均値を計算する.  【入力】 整数値のデータは,コマンドライン入力に入力する. その際,各整数値は,半角スペースで区切る.  【出力】 コマンドライン入力に1つ以上の整数値が入力された場合は,それらの平均値を出力する. コマンドライン入力に何も入力されなかった場合は,何も出力しない. 平均値の出力は,全体を左詰めで小数点以下2桁まで出力する. 行の先頭には空白を入れず,行の左端から出力する.