如何更正此代码?

时间:2015-12-21 11:59:05

标签: java

我必须用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);

                }

            }

}

2 个答案:

答案 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)。

注意你写的东西。