2017-10-24 7 views
-1

のうち、特定の数の平均を見つけることは私のコードであるは、テキストファイルここ

30 
44 
23 
56 
43 
2 
32 
35 
90 
12 

私の出力は何も出てきます。それは単に2つの質問をして空白を描くだけです(私がコメントにたくさんのものを作ってしまう前でさえ)。このコードは、質問に答えるためにしようとしている:。

「整数値のセットを含むファイルの名前を入力するようユーザに要求するプログラムを記述し、整数を入力するようユーザーに依頼し

プログラムは、入力番号より大きい数字の の平均を表示する必要があります。メモ帳などのテキストエディタを使用してプログラムのテストに使用できる単純なファイルを作成してください。

まず、以下のように名前を入力します。 ファイル名を入力します:input.txt そして、例えば 'input.txt'ファイルにfollowin G番号:

30 
44 
23 
56 
43 
2 
32 
35 
90 
12 

した後、ように、ユーザが、整数値を入力した場合:

The average of the numbers that are greater than 40 is 58.25 

注番号の平均値:プログラムのように出力を表示する必要があり

The number to check: 40 

44、56、43、および90は、233/4 = 58.25である。平均値は小数点以下2桁まで表示する必要があります。

入力ファイルが見つからない場合は、ユーザーが有効なファイルが発見されるまで、再びように質問を促すメッセージが表示されます、次のメッセージ

“File is not found, enter the filename again”. 

で再びファイル名を入力するように要求されなければなりません。」

テキストファイルを解析し、求められた値よりも大きい数値の平均値を見つけると、問題が発生し、ファイル名を入力してその質問を繰り返すように質問します。ファイルが見つかりました。私はDecimalフォーマットクラスを使用することを考えましたが、正しくutilにする方法を知らないizeそれ。どんな助けもありがとう!

+0

あなたはそのファイルから1つの数字だけを読んだだけです。あなたが実際に倍精度を読んだときに「整数を入力するようにユーザーに求めている」部分。 – f1sh

+0

DickButt教授。私は、あなたのjava FileIOのドキュメントを勉強して、何かを試してから、特定の質問に戻ってくることをお勧めします。 – MFisherKDX

答えて

2

私の最初のコメントは、いくつかのレッスンを受けたいと思うかもしれません。これはかなり基本的なものです。

あなたの質問に答えるには、適切な入力を得るためにif/else文を内部に入れてwhileループを使用してください。

次の問題では、ファイル名にスペースが含まれているため、.nextではなく.nextLineを使用することをお勧めします。

第3の問題点は、forループを使用して各整数を一度に1つずつチェックし、必要な範囲と比較することです。 if/if else文/ switch文と配列を使用して値を格納し、すべての値がチェックされたら、配列の内容について数学演算を行います。

もう一度、基本的なJavaレッスンを受けることを強くおすすめします。

関連する問題