这里的第一次海报。我已经意识到在家庭作业上寻求帮助时所带来的负面耻辱,但我相信这是一个例外,因为这是一个介绍课程,教授特别指出使用谷歌找到Java中for循环的例子(其中我们还没有在课堂上报道)。我绝对没有Java经验,非常感谢任何反馈:
程序会询问用户有多少成绩。
程序向用户询问每个等级(需要循环,并且应该在循环内对等级求和)。
获取所有等级的总和,计算平均值并存储在浮动变量等级中。
将等级值打印到控制台并将数字附加到字符串,例如"Grade Average is: " + grade
示例应为:
Enter number of grades: 2
Enter grade: 90
Enter grade: 81
Grade Average is: 85.5
到目前为止我的代码(这里不多):
// This program computes the letter grades for number of grades given by user
import java.util.*;
public class GradeAverage
{
public static void main(String[] args)
{
int count;
float sum = 0;
float grade;
Scanner scan = new Scanner(System.in);
}
}
编辑:
// This program computes the letter grades for number of grades given by user
import java.util.*;
public class GradeAverage
{
public static void main(String[] args)
{
int count;
float sum = 0;
float grade;
Scanner scan = new Scanner(System.in);
System.out.print("Enter number of grades: ");
count = scan.nextInt();
for (int i = 0; i < count; ++i)
System.out.print("Enter grade " + (i + 1) + ": ");
grade = scan.nextFloat();
sum += grade;
System.out.println("The average of the grades is: " + sum/count);
}
}
这就是我现在所拥有的,但测试显示的结果不正确(例如):
Enter number of grades: 2
Enter grade 1: Enter grade 2: 50 50
The average of the grades is: 25.0
每个等级都需要在不同的行上输入,因此平均值会因此而出现偏差。
答案 0 :(得分:0)
将大任务分解为较小的任务,比如@ user2864740说,在纸上写算法(不是代码)然后开始将其转换为代码
你到达了你创建一个扫描仪读取输入的部分,现在读取输入并......找出其余部分。
要了解如何阅读用户输入阅读this。
要了解如何使用字符串制作整数,请扫描阅读this
其余的基本数学真的,读你的教科书,祝你好运;)
编辑:至少提出一些算法然后我们可以帮助代码
答案 1 :(得分:0)
我不会为你解决作业,但我会帮助你:
如何使用for循环:
for (int i = #startValue#; #booleanCondition#; #runTheFollowingCodeAtEachIteration#)
{
//code
}
例如:
for(int i = 0; i<10; i++)
{
System.out.println(i);
}
将显示:
0
1
2
3
4
5
6
7
8
9
你的作业:
程序会询问有多少成绩:
扫描用户输入的名为NumberOfGrades的值(在代码中称为count)。
程序询问用户每个年级+总和成绩:
使用for循环,起始值为i,NumberOfGrades的上限。扫描每个等级并将其添加到名为GradeSum的值,该值在进入for循环之前最初应为0。
将值打印到控制台......:
将GradeSum除以NumberofGrades,并显示它想要显示的方式。
提示:
- 使用System.out.print(&#34; \ n输入等级:&#34;);在每次扫描前的for循环中。
答案 2 :(得分:0)
为了避免直接回答你的家庭作业问题(两者都无法帮助你解决问题而且可能不允许),让我们从“什么是for循环?”开始。
for循环是一个奇特的循环,可以为您做以下事情:
例如,以下循环将打印数字1 .. 10。
for(int i = 1; i <= 10; i++){
System.out.println(i);
}
int i = 1
的第一部分是初始化块。当第一次执行for循环时,i
被初始化为int
,其值为1
。i <= 10
的第二部分是检查以确定是否需要另一次迭代的布尔条件。在这种情况下,如果i <= 10
小于或等于i
,则10
评估为true;如果i
点击11
(或任何更大的数字),则{false}评估为false i++
是for循环完成迭代时运行的语句。 i++
将1
添加到i
的当前值,因此i
每次迭代的值会增加1
。答案 3 :(得分:0)
import java.util.Scanner;
public static void main(String[] args) {
int count = 0;
float sum = 0;
float grade = 0;
Scanner scan = new Scanner(System.in);
System.out.print("Enter number of grades: ");
count = scan.nextInt();
for (int i = 0; i < count; i++) {
System.out.print("Enter grade no " + (i + 1) + " : ");
grade = scan.nextFloat();
sum += grade;
}
System.out.println("Sum = " + sum);
System.out.println("Average = " + sum / (float) count);
}