我必须用Java制作GPA计算器... 用户将输入课程名称,获得的分数和百分比...... 和程序将单独输出所有科目的成绩,成绩点 然后程序将输出平均GPA ... 如果它是4.0,程序也会给出关于GPA的评论.... Excelent将在输出中显示...... 我不是要求Code我只是想要正确的指导,如何解决这个问题应该是什么功能 我会做什么或在哪里循环?(这种指导)?
我试过这样......
import java.util.Scanner;
public class Calc {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter number of a Subjects");
int nm = sc.nextInt();
for(int i=0;i<=nm;i++)
{
System.out.println("Enter name of a Subject ");
String Sub1 = sc.next();
System.out.println("Enter the Obtained marks of a Subject");
int ObtM = sc.nextInt();
if(ObtM<40)
{
System.out.println("Grade is F");
System.out.println("GradePoint is 0");
System.out.println("Remarks=Fail");
}
else if(ObtM<=49&&ObtM>=40)
{
System.out.println("Grade is D");
System.out.println("GPA is 1");
System.out.println("Remarks=pass");
}
else if(ObtM<=50&&ObtM>=64)
{
System.out.println("Grade is C");
System.out.println("GPA is 2");
System.out.println("Remarks=Satisfactory");
}
else if(ObtM<=65&&ObtM>=79)
{
System.out.println("Grade is B");
System.out.println("GPA is 3");
System.out.println("Remarks=Good");
}
else if(ObtM<=80&&ObtM>=100)
{
System.out.println("Grade is A");
System.out.println("GPA is 4");
System.out.println("Remarks=Excellent");
}
int percentage=ObtM*100/100;
System.out.println("Percentage is "+percentage);
}
}
}
答案 0 :(得分:1)
您正在使用面向对象语言进行编程,因此请充分利用它!我会为家庭作业编写一个课程,其中包括以下参数:课程名称,作业名称,成绩等。这样做的好处是,您可以将所有作业存储为数组并循环显示您想要显示的内容。所有计算都可以在单独的赋值实例中处理。
该组织将帮助您清理代码并使问题更容易检测。请随意在Oracle文档中阅读有关此编码风格的更多信息。
只有一个if
语句有效的原因是因为你已经将所有符号都反转了。您要求您的程序识别不存在的数字,即:小于数字且大于相同数字的等级。通过切换小于和大于语法,您将实现您想要找到的内容。
示例:
if (ObtM <=50 && ObtM >= 64)
变为
if (ObtM >=50 && ObtM <= 64)
答案 1 :(得分:1)
您的if
陈述完全错误。 if(ObtM<=50&&ObtM>=64)
需要的数字 <51> 更多而不是63.您希望这些条件是另一种方式(ObtM >= 50 && ObtM <= 64
)。
注意你写的东西。