質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

3回答

5437閲覧

入力した回数と5の倍数をカウントした回数の集計結果

Fantasista10

総合スコア47

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2017/03/13 12:34

編集2017/05/12 05:56

javaでキーボードを入力し、入力した回数と5の倍数を入力したかいすうをカウントし、0を入力した時点で終了し、それぞれの集計結果を表示するという問題をやっています。
エラーがでてしまいまして、どうしても前に進めません。
###発生している問題・エラーメッセージ
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Test2_2_1 {
/*キーボードで数値を入力した回数と5の倍数を入力した回数をカウントし、0を入力した時点
* で終了し、それぞれの集計結果を表示せよ。
*/
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try{
String b = a.readLine();
int num,total = 0;
while((num = Integer.parseInt(b))!= 0){
}catch(IOException e){
System.out.println("書き込みが失敗したよ");
}catch(NumberFormatException e){
System.out.println("書き込みが失敗したよ");
}
}
}
}

分かる方、教えていただけませんでしょうか? エラーメッセージ ```String b = a.readLineの部分でaを解決出来ないと出ます。 catch(IOE)の部分でIOException型に解決出来ないと出ます。 ###該当のソースコード ```java ここにご自身が実行したソースコードを書いてください

###試したこと
エラーに対して考えられる事はやったのですが、うまくいきませんでした。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

そもそもコンパイルでぼこぼこエラーが出ると思いますが…

まず、Java では「宣言していないものを使うことはできない」です。
さて、a.readLine(); をしている「a」はどこで宣言されているのです?

おそらく、ご自身でプログラムを考えて作っていないですね?
どなたかの、あるいはどこかにあるプログラムをコピーして使っていませんか?

それではプログラムを組んだとは言えません。
まずご自身で考えるようにしましょう。

※プログラムが組める人が、「他からコードを持ってきて加工して使う」ことはよくありますが、理解してない人がやるのとは意味が違います

投稿2017/03/13 12:41

tacsheaven

総合スコア13703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

以下で目的のプログラムになっているかも知れません

java

1import java.io.BufferedReader; 2import java.io.InputStreamReader; 3import java.io.IOException; 4public class Test2_2_1 { 5/*キーボードで数値を入力した回数と5の倍数を入力した回数をカウントし、0を入力した時点 6 7で終了し、それぞれの集計結果を表示せよ。 8*/ 9public static void main(String[] args) { 10BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 11int num=0,total = 0,count=0; 12 13try{ 14System.out.print("数値を入力せよ:"); 15while((num = Integer.parseInt(br.readLine()))!= 0){ 16count++; 17if(num%5==0)total++; 18 19System.out.print("数値を入力せよ:"); 20 21} 22 23}catch(IOException e){ 24System.out.println("書き込みが失敗したよ"); 25}catch(NumberFormatException e){ 26System.out.println("書き込みが失敗したよ"); 27} 28 29System.out.println("5の倍数:"+total); 30System.out.println("全体の入力回数:"+count); 31 32 33} 34}

投稿2017/03/13 12:56

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Fantasista10

2017/03/13 13:50

解決できました。 ありがとうございました。 ただ、while文中で、sysoしてしまうと、コンソール入力毎に一つ一つ出力がされてしまうので、while外でsysoを書きました。 もっと一つ一つの用語の意味や使い方を体に覚えさせないといけないと感じた問題でした。
toutou

2017/03/13 13:58

偏った見方なんですが、「間違った書き方してるので直しておきました。自分もこういう間違えをしないように勉強します。」的な皮肉にも取れる表現にもみえました。ここまで整えてもらって、書くコメントではないように感じます。
Fantasista10

2017/03/13 14:07

文章が分かりづらくてすみません。 余計な事だと反省しております。 回答者様には非常に感謝しておりますので、気分を害しましたら大変申し訳ございませんでした。 以降、気をつけます。
guest

0

何やらpiazaの匂いがしますが・・・
そもそもtry~catchやwhileを正しく理解できていますでしょうか?
カッコの位置がおかしくなっているように見えます。
おそらくエラーログもそのような感じで出ているのではないでしょうか?

投稿2017/03/13 12:44

s.t.

総合スコア2021

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問