Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我没有得到正确的结果,不确定我遗漏了什么(不正确的逻辑,遗漏了步骤?)_Java - Fatal编程技术网

Java 我没有得到正确的结果,不确定我遗漏了什么(不正确的逻辑,遗漏了步骤?)

Java 我没有得到正确的结果,不确定我遗漏了什么(不正确的逻辑,遗漏了步骤?),java,Java,我正试图让这个问题正常工作,它要求输入一些分数,然后它应该显示得分最高的人的名字。我把最后一个分数作为最高分数输入,问题是最后一个分数不一定是最高分数。任何关于我如何解决这个问题的想法都将不胜感激。这是家庭作业,所以没有人说“使用列表或数组”,我们在课堂上没有涉及到这一点,因此不应该用它来解决这个问题 public static void main(String[] args) { // variables Scann

我正试图让这个问题正常工作,它要求输入一些分数,然后它应该显示得分最高的人的名字。我把最后一个分数作为最高分数输入,问题是最后一个分数不一定是最高分数。任何关于我如何解决这个问题的想法都将不胜感激。这是家庭作业,所以没有人说“使用列表或数组”,我们在课堂上没有涉及到这一点,因此不应该用它来解决这个问题

       public static void main(String[] args) 
       {
            // variables
            Scanner input = new Scanner(System.in);
            int count = 0;
            int numStudents;
            double grade = 0, highestGrade = 0;
            String name = "", highName = "";

            String numGrades =
                    JOptionPane.showInputDialog
                    ("How many student grades are you entering: ");
            numStudents = Integer.parseInt(numGrades);

            //for(int count = 0; count < numStudents; count++)
            while(count < numStudents)
            {
            // prompt for the user to enter grades
            String inputName =
                    JOptionPane.showInputDialog("Enter a student name: ");
            name = inputName;
            //name = input.next(inputName);

            String inputGrade = 
                   JOptionPane.showInputDialog("What is that students grade: ");
            grade = Double.parseDouble(inputGrade);
            //grade = input.nextDouble();

            count++; 
            //if(grade < highestGrade)
            if(highestGrade > grade)
            {
                name = highName;
                grade = highestGrade;
            }
            else 
            {
                continue;
            }        
            }
            JOptionPane.showMessageDialog
                    (null, "The student with the highest score is " + name + 
                    " with a grade of " + grade);           
        }
publicstaticvoidmain(字符串[]args)
{
//变数
扫描仪输入=新扫描仪(System.in);
整数计数=0;
国际学生;
双等级=0,最高等级=0;
字符串名称=”,highName=”;
串珠=
JOptionPane.showInputDialog
(“您要输入多少学生成绩:”);
numStudents=Integer.parseInt(numGrades);
//对于(int count=0;count等级)
{
name=highName;
等级=最高等级;
}
其他的
{
持续
}        
}
JOptionPane.showMessageDialog
(空,“得分最高的学生为”+姓名+
“等级为”+级);
}
这是向后的:

if(highestGrade > grade)
应该是

if(highestGrade < grade)
编辑:这也是向后的

name = highName;
grade = highestGrade;
这是倒退的:

if(highestGrade > grade)
应该是

if(highestGrade < grade)
编辑:这也是向后的

name = highName;
grade = highestGrade;
因为你想找到最高的等级和名字,上面应该是相反的

 if(grade > highestGrade )
            {
                highName = name;
                highestGrade = grade;
            }
另外,打印找到的值:

因为你想找到最高的等级和名字,上面应该是相反的

 if(grade > highestGrade )
            {
                highName = name;
                highestGrade = grade;
            }
另外,打印找到的值:


如果这是家庭作业,我想你的教授会对OO方法感兴趣,因为你正在使用Java。为什么不把学生的名字和成绩写进一个班级,然后把它们存储在一个列表中呢。从那里,您可以遍历列表,查看哪个学生的分数最高。很快,您将使用0初始化
highestGrade
变量,并将其与即将到来的分数进行比较。你需要实现
highestGrade
变量,因为你一直在寻找更高的分数。如果这是家庭作业,我想你的教授会对OO方法感兴趣,因为你正在使用Java。为什么不把学生的名字和成绩写进一个班级,然后把它们存储在一个列表中呢。从那里,您可以遍历列表,查看哪个学生的分数最高。很快,您将使用0初始化
highestGrade
变量,并将其与即将到来的分数进行比较。您需要实现
highestGrade
变量,以便不断查找更高的分数。并更改为JOptionPane.showMessageDialog(null,“分数最高的学生是“+name+”,分数为“+highestGrade”)+1.而且,当打印到控制台时,OP应打印highName和highestGrade@Juvanis&托德,谢谢。我没有注意到:)我编辑了它。谢谢,我想它就是这么简单。此外,我更喜欢使用列表,因为这样可以更容易地获得最高分数,或者任何我想要的分数,但是讲师希望在没有列表或数组的情况下完成,因为他还没有“教”我们这一点。再次感谢你的帮助!并更改为JOptionPane.showMessageDialog(null,“得分最高的学生是“+name+”,成绩为“+highestGrade”)+1.而且,当打印到控制台时,OP应打印highName和highestGrade@Juvanis&托德,谢谢。我没有注意到:)我编辑了它。谢谢,我想它就是这么简单。此外,我更喜欢使用列表,因为这样可以更容易地获得最高分数,或者任何我想要的分数,但是讲师希望在没有列表或数组的情况下完成,因为他还没有“教”我们这一点。再次感谢你的帮助!