public static void main (String [] args)
{
// declare variables, capture input
String input, name = JOptionPane.showInputDialog("Please " +
"enter your first and last name.");
double testScore1, testScore2, testScore3, average;
// capture input, cast, and validate input
input = JOptionPane.showInputDialog("What is the score " +
"of your first test?");
testScore1 = Double.parseDouble(input);
while (testScore1 < 1 || testScore1 > 100)
{
input = JOptionPane.showInputDialog("This test score is not " +
"between 1 and 100. \nPlease enter a test score in " +
"this range:");
testScore1 = Double.parseDouble(input);
}
input = JOptionPane.showInputDialog("What is the score " +
"of your second test?");
testScore2 = Double.parseDouble(input);
while (testScore2 < 1 || testScore2 > 100)
{
input = JOptionPane.showInputDialog("This test score is not " +
"between 1 and 100. \nPlease enter a test score in " +
"this range:");
testScore2 = Double.parseDouble(input);
}
input = JOptionPane.showInputDialog("What is the score " +
"of your third test?");
testScore3 = Double.parseDouble(input);
while (testScore3 < 1 || testScore3 > 100)
{
input = JOptionPane.showInputDialog("This test score is not " +
"between 1 and 100. \nPlease enter a test score in " +
"this range:");
testScore3 = Double.parseDouble(input);
}
// calculate average and display output
average = (testScore1 + testScore2 + testScore3)/3;
JOptionPane.showMessageDialog(null, name + ", your average score is: " + average);
}
まず、私は初心者プログラマーです。私の専門用語と専門用語はかなり不足しているので、我慢してください。
3つのテストスコアをキャプチャし、whileループを使用してそれらを検証するプログラムを作成しています(1〜100の範囲内である必要があります)。次に、テストスコアが平均化され、出力に平均が表示されます。かなり単純なもの。
可能であれば、テストスコアの数を取得し、そこから実際の各スコアを取得する方法を見つけたいと思います。たとえば、プログラムは「平均していくつのテストが計算されていますか?」と尋ね、その数を取得して、プログラムが「テストスコア(1)を入力してください:」などのプロンプトを表示する回数と同じにします。 。したがって、さらに明確にするために、ユーザーがテストの数として4を入力した場合、スコアを入力するためのプロンプトが4回表示されます。
上記のコードは、スコアごとにwhileループを使用することで冗長であると感じていますが、プログラムは3スコアのみを対象としているため、制限されています。どんな助けでも大歓迎です、そしてコードの他のものを自由に批評してください。