Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.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_Percentage - Fatal编程技术网

需要java分级程序的帮助吗?我需要制作一个程序,读取学生总成绩的百分比

需要java分级程序的帮助吗?我需要制作一个程序,读取学生总成绩的百分比,java,percentage,Java,Percentage,我有个问题。我有一个我应该创建的程序,它应该阅读两个测验的分数,这两个测验加起来占学生总分数的25%,期中考试占学生总分数的25%,期末考试占总分数的50%。当我运行该程序时,一切正常,除了第一个测验成绩为7分,第二个测验成绩为8分,期中成绩为90分,期末成绩为80分,总成绩应为81.25%,但它会显示。8125并自动给学生一个F。我不知道如何修正它 import java.util.Scanner; public class StudentClass { // calculate grade

我有个问题。我有一个我应该创建的程序,它应该阅读两个测验的分数,这两个测验加起来占学生总分数的25%,期中考试占学生总分数的25%,期末考试占总分数的50%。当我运行该程序时,一切正常,除了第一个测验成绩为7分,第二个测验成绩为8分,期中成绩为90分,期末成绩为80分,总成绩应为81.25%,但它会显示。8125并自动给学生一个F。我不知道如何修正它

import java.util.Scanner;

public class StudentClass {
// calculate grade first then the if else statements for the letter grade
    public static Scanner grades = new Scanner (System.in);
    public static double quiz1, quiz2, midterm, finalExam, Grades, totalGrade, bothQuizzes, PfinalExam, PmidTerm;
    public static String studentname;
    public static int Score;


    public String getstudentname( )
    {
        return studentname;
    }
    public double getquiz1()
    {
        return quiz1;
    }

    public double getquiz2 ()
    {
        return quiz2;
    }

    public double midterm()
    {
        return midterm;
    }

    public double finalExam()
    {
        return finalExam;
    }

    public void setquiz1 (double quiz1)
    {
        this.quiz1 = quiz1;
    }

    public void setquiz2 (double quiz2)
    {
        this.quiz2 = quiz2;
    }

    public void setmidterm()
    {
        this.midterm = midterm;
    }

    public void setfinalExam()
    {
        this.finalExam = finalExam;
    }

    public void setGrades ()
    {

    }

    public String toString(){

        return this.quiz1 + " " + this.quiz2 + " " + this.midterm + " " + this.finalExam;

    }



    public static void  readInput(){

        System.out.println("Please enter the grade you got for the first quiz: ");
        quiz1 = grades.nextInt();

        while (quiz1 <0 || quiz1>10)
        {
            System.out.println("Please enter a grade between zero and ten: ");
            quiz1 = grades.nextInt();
        }

        System.out.println("Please enter the grade you got for the second quiz: ");
        quiz2 = grades.nextInt();

        while (quiz2 <0 || quiz2>10)

        {
            System.out.println("Please enter a grade between zero and ten: ");
            quiz2 = grades.nextInt();
        }

        System.out.println("Please enter the grade you got on your midterm: ");
        midterm = grades.nextInt();

        while (midterm <0 || midterm>100)

        {
            System.out.println("Please enter a grade between 0 and 100: ");
            midterm = grades.nextInt();
        }

        System.out.println("Please enter the grade you got on your final exam: ");
        finalExam = grades.nextInt();

        while (finalExam < 0 || finalExam > 100)

        {
            System.out.println("Please enter a grade between 0 and 100: ");
            finalExam = grades.nextInt();
        }
    }

    public static  void output()

    {

        System.out.println(" your score for the first quiz was " + quiz1 );

        System.out.println("your score for the second quiz was " + quiz2);

        System.out.println(" your score for the midterm was " + midterm );

        System.out.println("your score for the final exam was " + finalExam);
        bothQuizzes = ((quiz1 + quiz2)/20)*.25;
        PmidTerm = (midterm/100) *.25;
        PfinalExam = (finalExam/100) * .50;

        totalGrade = bothQuizzes + PmidTerm + PfinalExam;

        System.out.println("Your total grade for these grades is " + totalGrade);

        double letterGrade = totalGrade;
        if (letterGrade >= 90)

        {

            System.out.println("Your grade is an A");

            // grade = "A";

        }

        else if (letterGrade >= 80)

        {

            System.out.println("Your grade is a B");

        }

        else if (letterGrade >= 70)

        {

            System.out.println("Your grade is a C");

        }

        else if (letterGrade >= 60)

        {

            System.out.println("Your grade is a D");

        }

        else

        {

            System.out.println("Your grade is an F");



        }

    }


    }
import java.util.Scanner;
公共课学生课{
//首先计算等级,然后计算字母等级的if-else语句
公共静态扫描仪等级=新扫描仪(System.in);
公开静态双测验1、2、期中、期末、成绩、总成绩、两次测验、期末考试、PmidTerm;
公共静态字符串studentname;
公共静态积分;
公共字符串getstudentname()
{
返回学生姓名;
}
公共双getquiz1()
{
返回quiz1;
}
公共双getquiz2()
{
返回quiz2;
}
公开双中期()
{
返回期中;
}
公共双财务
{
返回finalExam;
}
公共无效设置quiz1(双quiz1)
{
this.quiz1=quiz1;
}
公共无效设置quiz2(双quiz2)
{
this.quiz2=quiz2;
}
公共部门中期报告()
{
这个。期中=期中;
}
public void setfinalExam()
{
this.finalExam=finalExam;
}
公营部门职系()
{
}
公共字符串toString(){
返回this.quiz1+“”+this.quiz2+“”+this.middterm+“”+this.finalExam;
}
公共静态void readInput(){
System.out.println(“请输入第一次测验的分数:”);
quiz1=grades.nextInt();
while(quiz1-10)
{
System.out.println(“请输入介于0和10之间的分数:”);
quiz1=grades.nextInt();
}
System.out.println(“请输入第二次测验的分数:”);
quiz2=grades.nextInt();
while(quiz2-10)
{
System.out.println(“请输入介于0和10之间的分数:”);
quiz2=grades.nextInt();
}
System.out.println(“请输入你期中考试的分数:”);
期中=成绩。nextInt();
而(期中100)
{
System.out.println(“请输入介于0和100之间的分数:”);
期中=成绩。nextInt();
}
System.out.println(“请输入期末考试的分数:”);
finalExam=grades.nextInt();
而(最终随机数<0 | |最终随机数>100)
{
System.out.println(“请输入介于0和100之间的分数:”);
finalExam=grades.nextInt();
}
}
公共静态void输出()
{
System.out.println(“第一次测验的分数是”+quiz1);
System.out.println(“第二次测验的分数是”+quiz2);
System.out.println(“你的期中成绩是”+期中成绩);
System.out.println(“你期末考试的分数是”+finalExam);
两个测验=((测验1+测验2)/20)*.25;
PmidTerm=(中期/100)*.25;
PfinalExam=(finalExam/100)*.50;
总成绩=两次测验+项目管理术语+期末考试;
System.out.println(“这些等级的总等级为”+总等级);
双字母等级=总等级;
如果(字母等级>=90)
{
System.out.println(“你的成绩是A”);
//等级=“A”;
}
否则,如果(字母等级>=80)
{
System.out.println(“你的成绩是B”);
}
否则,如果(字母等级>=70)
{
System.out.println(“你的成绩是C”);
}
否则,如果(字母等级>=60)
{
System.out.println(“你的成绩是D”);
}
其他的
{
System.out.println(“你的成绩是F”);
}
}
}

如果得到0.8125,只需乘以100并附加“%”即可得到81.25%

String gradeStr = (totalGrade*100) + "%";
System.out.println(gradeStr);
为了澄清,您使用的不是模运算符中的
%
,而是字符串

    bothQuizzes = ((quiz1 + quiz2)/20)*.25;
    PmidTerm = (midterm/100) *.25;
    PfinalExam = (finalExam/100) * .50;

    totalGrade = bothQuizzes + PmidTerm + PfinalExam;
假设您输入0到100之间的整数值,这将为您提供:

两个测验:介于0和2.5之间的值 PmidTerm:介于0和.25之间的值 PfinalExam:介于0和.50之间的值

你显然有一些数学问题

你应该把这里的第一行改为

 bothQuizzes = ((quiz1 + quiz2)/200) *.25
看起来你在什么地方掉了一个0。这将为您提供介于0和0.25之间的值

这意味着totalGrade将介于0和1.00之间。你应该把这个乘以100,所以你有:

 totalgrade = 100*(bothQuizzes + PmidTerm + PfinalExam)
要以百分比显示,请执行以下操作:

 System.out.println("Your total grade for these grades is " + totalGrade + "%");

你能详细说明一下吗?谢谢你们的快速回复,比如我应该在哪里插入百分号,我知道百分号会给你们剩余的部分…事实上我修正了它,现在它正确地给了我81.25%,谢谢大家!有趣的是,一个小错误就毁了整个程序。。。Lol乘以100将小数点向右移动两位谢谢!我认为人们读了你的标题,看到了开头的几句话,没有大写字母,然后对你的问题投了否决票,认为你是在问代码,没有花时间正确地格式化你的问题。你可能想编辑它。是的,我想为什么我会得到一百万张反对票?我没有像这里的数百万人那样乞求别人编写代码,我只是需要帮助。