java - 循环不会添加总计

标签 java

制作一本适用于一名学生的成绩册,它以学生的姓名作为输入。然后,他们被要求将成绩分为三类:家庭作业、测验和测试。每个类别的成绩将分别进行平均,最后计算公式:“最终平均成绩 = 0.25*家庭作业平均成绩 + 0.25测验平均成绩 + 0.50测试平均成绩 = 65

一切正常,但 -1 并没有结束该过程!真令人沮丧!

import java.util.Scanner; 

public class Assignment3

{
public static void main( String[] args ) 
{ 
    Scanner input = new Scanner( System.in );

    int homeworkGrades;
    int quizGrades;
    int testGrades;
    int choice;
    int total;
    double average;
    String name;

    total = 0;
    homeworkGrades = 0;

        System.out.println( "Enter 1 or 2: \n 1 - Average grades \n 2 - Quit" ); 
        choice = input.nextInt();

        if ( choice == 1 ) {
            System.out.println( "Enter the students name" );
            name = input.next();



            System.out.println( " What would you like to do? \n 1 - Homework grades \n 2 - Quiz grades \n 3 - Test grades " );
            choice = input.nextInt();

            {

                while ( choice == 1 ) {
                    System.out.println( "Enter a homework grade. Press -1 when finished" );
                    homeworkGrades += input.nextInt();

                    if ( homeworkGrades != -1 ) //it's something going on right here :s

                    if ( homeworkGrades == -1 )
                        System.out.println("Total for homework grades is " + homeworkGrades );      
                }
            }
        }

    else if ( choice == 2 ) {
        System.out.println( "Exiting program" );
    }

    else {
        System.out.println( "Invalid response, exiting program." ); 
    }       
}

}

最佳答案

你的代码有 if ( homeworkGrades != -1 ) 紧接着是 if ( homeworkGrades == -1 ) - 这可能不会做你想要的它要做。

我建议始终在 if 语句周围加上大括号,并使用适当的代码缩进来避免此类错误 - 在通读时检测它们会变得更加容易。

关于java - 循环不会添加总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21735721/

相关文章:

java - 如何使用 Stream API 返回 null?

java - 减少在 Java 中生成纯音的谐波

java - 为什么我得到这个 InvalidPathException

java - 如何在 GWT 中设置事件边界?

java - Spring Boot 应用程序上的 Maven 构建失败

java - hibernate 、惰性行为和多个 session

java - 如何在 Java 应用程序中打印 mongodb 中的 public static final 成员?

java - SmartGWT 中的 addMembers(...) 和 setMembers(...) 有什么区别

java - 我的 Gradle Appengine 项目无法运行,并出现错误 "Validation Error: Java App Engine components not installed."

java - 如何映射 Java 语言环境和 Lucene 分析器?