単純なJavaクエリ - 整数から結果を得る
-
27-10-2019 - |
質問
私は、ユーザーが入力した正の数の平均リストの平均を見つけなければならない課題を設定しました。入力された数値は不明です。これまでに、入力されたすべての数値を追加するプログラムがあります(ユーザーが0に入力したときにエントリテミネート)。私は本当にこれを速く学ぼうとしているので、私はここでこの質問に対する答えを望んでいません!
私はwhileステートメントに問題があります、
私は言いたいと思いました
WHILE ( numberentered = 0 );
......
しかし、これはうまくいかないようです
私はもともとそうしたようにしました:
while ( numberentered >= 1 );
System.out.print (numbersum);
しかし、これは、負の数が入力されたときに、まだdoループから飛び出します。
どんなアイデアも....あなたが私の質問を理解しているが、それはまだ非常にひどく表現されているなら...編集してください。
ありがとうございました。
解決
あなたはこれをするべきではありませんか?
while(numberEntered != 0) {
// add it up
}
他のヒント
while (numberentered != 0) { < read new number and add it to total and ... (but you didn't want the answer...) > }
多分あなたがするつもりだったようです:
while (numberentered != 0) {
//do stuff
}
「while」ライン自体にセミコロンは必要ないことに注意してください。
これは私が問題の声明を解釈したものです:
「ユーザーは数回を何度も入力することが許可されていますが、0に入ると、プログラムは0より前に入力されている数値の平均を表示して終了します」
あなたはこのように行くことができます:
public static void main(String args[]) {
float no = 0;
float average = 0;
int count = 1;
if(args.length == 0) {
printf("No number being entered...program exits");
System.exit(0);
}
if(args[0] == 0) {
displayAverage(average);
return;
}
for(count;count<args.length;count++){
try {
no = Float.parseFloat(args[count]);
if(no == 0 ) {
break;
}
average = average + no;
}
catch(NumberFormatException nfe) {
printf("Please enter only numbers");
}
}
average = average/count;
printAverage(average);
}
private void displayAverage(float average){
System.out.println("average is: "+ average);
}
これが役立つことを願っています。
所属していません StackOverflow