自分で勉強中の(かなりてこずってる)範囲の課題を出されてしまい困っています。
C言語のscanfのように実行してから数値を代入させてその判別を制御文で行うプログラムを作りたいのですが制御までは授業でやって理解していますが代入させる部分がよくわからないんで教えてください。
ヒントが出されたんですが
BufferdReader br = new BufferdReader(new InputStreamReader(System.in));
String in = br.read.Line();
でできるということでした。
そこで自分なりに考えてみたのが判別するために
(int) in;
とか
int x = (int)in;
とかやってみてinを数値として扱おうとしたのですがエラーが出てしまいました。どこがおかしいのかよくわからなくて調べてみましたが別のファイルからの入力についての解説ページしか見つからなかったのでこちらで分かる方どうか教えてください。
No.1ベストアンサー
- 回答日時:
class Q4061261A{
public static void main(String[] args){
java.io.BufferedReader br = new java.io.BufferedReader(new java.io.InputStreamReader(System.in)); //スペルミスあり。
String in = null;
int num = 0;
try{
in = br.readLine(); //read.LineじゃなくreadLine
}catch(java.io.IOException e){
System.out.println(e.toString());
System.exit(0);
}finally{
}
try{
num = Integer.parseInt(in);
}catch(NumberFormatException e){
System.out.println(e.toString());
System.exit(0);
}finally{
}
if (num == 5){
System.out.println("5です。");
}else{
System.out.println("5ではありません");
}
}
}
No.2
- 回答日時:
データの型を変換することを「キャスト」と呼びます。
(int)のような文法でキャストできるのは、javaの基本型同士の場合または継承関係にあるオブジェクトの場合だけです。
※基本形同士でキャストする場合は、データの精度に注意する必要もあります。
実際のソースの例は、No.1の方のものを参照してください。
キャスト自体は
> num = Integer.parseInt(in);
の1行ですが、parseIntは例外をthrowすることがあるので、例外処理も必要になります。
余談ですが。
このようなキャスト処理は、javaの習熟の上で避けて通れない知識のひとつです。
オブジェクト・クラスと継承の考え方、データ型についてなど、どうぞ頑張って勉強してください。
専門家の方ですか。私もSEやプログラマを目指しているものです。
とてもありがたいお言葉ありがとうございます。解説も参考にさせていただき理解できました。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C言語 3 2022/10/04 15:07
- Java Java 配列<選挙> 4 2023/07/31 15:07
- その他(プログラミング・Web制作) atcoder python コードへの助言 2 2022/08/12 15:31
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
java キーボード入力された値の...
-
コマンドライン引数の例外処理...
-
ループ処理の際、最後だけ","を...
-
Java キーボードから負の数が入...
-
Java、2の0乗~10乗の表示
-
フィールド名やメソッド名に日...
-
階乗
-
java プログラム for 文 while ...
-
入力データ数を入力して、その...
-
論理演算子”||”またはの入力方法
-
階乗の式
-
繰り返しによる星印の出力
-
キーボードから10人分の点数を...
-
【JAVA <identifier>がありま...
-
エラー(互換性の無い型)
-
配列を逆順させて表示させる方...
-
九九の表
-
複数の数字を計算
-
javaで入力した数字の順番を記...
-
テキストボックスに入力された...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ループ処理の際、最後だけ","を...
-
続・ZZZ,ZZZ,ZZ9形式の金額形式...
-
java キーボード入力された値の...
-
テキストボックスに入力された...
-
論理演算子”||”またはの入力方法
-
総称型ArrayList<E>への参照...
-
7つ数字を表示したら改行すると...
-
Ctrl+Zが入力されると終了する...
-
countに実行した回数をいれたい...
-
Java、2の0乗~10乗の表示
-
キーボードから10人分の点数を...
-
Randomメソッドの確率設定
-
数値⇒漢数字変換 java
-
コマンドライン引数の例外処理...
-
Java 入力した整数値の合計を、...
-
javaのエラーが回収できない
-
2つのスクロールバーを連動させ...
-
階乗の式
-
C#の質問
-
Java キーボードから負の数が入...
おすすめ情報