お力貸して頂ければ幸いです。
Java1.5で独学で勉強しており、自分なりにサイトを参考にしつつ、
自分で自分に問題を出しては解いている最中です。
自分で作った問題にも関わらず、わからなくなってしまったのでご質問させて頂きたいと思います。
Q
1~1000まで表示されるプログラムの作成
改行はコマンドプロンプトから入力された数字分で改行させる(System.inの利用)
自分なりに出した回答は下記です。
import java.io.*;
class Kadai2{
public static void main (String args[]){
int i = 0;
int f = 0;
System.out.println("数字を入力してください");
System.out.println("1文字以上は読み込みません");
System.out.println("文字数を超えた場合は最初の文字のみ読み込みます");
System.out.println();
try{
i = System.in.read();
//System.out.println((char)i);
}catch(IOException e){}
for(f = 0; f <= 1000; f++){
if(f == i){
System.out.print(f);
System.out.println("");
}
else{
System.out.print(" " + f);
}
}
}
}
※実行しても自分の思うように動きません
不明点は2点あります。
1点目はSystem.inメソッドの仕様?的なもの
(apiを見ても理解出来ずじまいでした・・・。これは変数の代入先の型はINT型でないと使えないのでしょうか?)
2点目はSystem.inメソッドから入力した場合の、文字が数字で入力しても文字コードで
数字として認識されない点
(その為、if文の判定が意味ない状態)
質問が下手で申し訳ありませんが、お時間あるときに教えて頂ければと思います。
自分ではこのようにやってますが、もっと他にこのプログラムはこうした方がいいよという部分
ありましたら教えて頂ければ幸いです。
No.1ベストアンサー
- 回答日時:
Scanner sc = new Scanner(System.in);
System.out.print("数字を入力してください。 ");
int c = sc.nextInt();
System.out.println();
for(int f=0;f<=20;++f){
if (f==c){
System.out.println(" "+f);
}else{
System.out.print(" "+f);
}
}
System.out.println();
出力の関係上、1000ではなく、上限を20にしています。
1000に変えればいいだけですが。
入出力結果
数字を入力してください。 12
0 1 2 3 4 5 6 7 8 9 10 11 12
13 14 15 16 17 18 19 20
こんな感じを求めているのですか??
tom11さん
ありがとうございます。
Scannerクラスと言うのを自分は存在すら知らなかったので
非常に勉強になりました。
int c = sc.nextInt();
ここはint型にキャストしてるって考えでいいのでしょうか?
No.2
- 回答日時:
>int c = sc.nextInt();
>ここはint型にキャストしてるって考えでいいのでしょうか?
このような場合、多分、キャストとは、言わないと思います。
scannerクラスの、メソッドの一つで戻り値が
int?Integer?どちらかだと思います。
APIのURLは、ご存知ですよね。1.5なら、以下のURLです。
ここで、メソッドを確認してください。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/in …
後は、ヒントが手にはいったので、Googleで検索したほうが
早いですし、詳しいですよ。
例えば scanner java コンソール、、、で、以下の
URLがヒットしました。
コンソール入力に関して詳しく書いています。
http://linux971.blog92.fc2.com/blog-entry-73.html
では
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- Ruby vscode 文字化け 1 2022/05/21 19:17
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Java Javaの問題なのですが、「3文字以上の英数字文字列を入力し、文字列の中に文字(9)が出てくるまでの 1 2023/06/06 18:55
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- 英語 下記の英文の日本語訳をお願いします。 1 2023/03/02 10:01
- 英語 下記の英文を日本語に訳して、その意味を教えてください。 1 2023/03/09 14:13
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語のポインターに関する警告
-
[JAVA]try 内の変数を外で!?
-
JSPやサーブレットでSystem.out...
-
JAVAのDouble型の小数点以下の...
-
JAVA 文字色変更
-
java教えてください。
-
EclipseでJava
-
改行の判定方法
-
JAVAでの占い
-
IPアドレスから組織やプロバイ...
-
NaNではなく、0と表示させたい
-
配列を後ろから数えるには?
-
JAVA 三角形の判定
-
DOMで要素の値がNULL
-
教えてほしいです。
-
printfの%fにおいて教本どおり...
-
「続行するには何かキーを押し...
-
LC発振回路-ループ利得
-
Javaでカレントディレクトリを...
-
文字列の引き算
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
[JAVA]try 内の変数を外で!?
-
JSPやサーブレットでSystem.out...
-
C言語のポインターに関する警告
-
改行の判定方法
-
EclipseでJava
-
JAVAのDouble型の小数点以下の...
-
Javaでカレントディレクトリを...
-
文字列の引き算
-
JAVA 文字色変更
-
Javaのプログラムがどうしても...
-
エクセルマクロ文で、赤文字セ...
-
java シンボルが見つかりません...
-
java int integer
-
配列を後ろから数えるには?
-
java.util.zipで作成したアーカ...
-
JAVAのエラーの意味が分かりま...
-
会員情報登録プログラムの作成...
-
nullcline
-
コマンドプロンプトでひらがな...
-
NaNではなく、0と表示させたい
おすすめ情報