java中的错误处理百分比计算器

hk8txs48  于 2021-06-29  发布在  Java
关注(0)|答案(2)|浏览(265)

这个问题在这里已经有答案了

整数除法:为什么1/3的结果==0((16个答案)
整数除法:如何产生一个双精度除法(11个答案)
15天前关门了。
因此,我试图学习java,遇到了这个小项目,我必须作出百分比计算器,但我仍然面临一些问题。请告诉我我做错了什么

package com.company;
import java.util.Scanner;

public class CBSE_RESULT {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.println("Enter Your English Subject Marks");
        int a = s.nextInt();
        System.out.println("Enter Your Maths Subject Marks");
        int b = s.nextInt();
        System.out.println("Enter Your Sanskrit Subject Marks");
        int c = s.nextInt();
        System.out.println("Enter Your Hindi Subject Marks");
        int d = s.nextInt();
        System.out.println("4Enter Your Science Subject Marks");
        int e = s.nextInt();
        int sum = a + b + c + d + e;
        int total = 500;
        float result = (sum / total)* 100;

        System.out.println(result + "%");
    }

我得到了这个结果

Enter Your English Subject Marks
10
Enter Your Maths Subject Marks
20
Enter Your Sanskrit Subject Marks
30
Enter Your Hindi Subject Marks
40
4Enter Your Science Subject Marks
50
0.0%

Process finished with exit code 0
jecbmhm3

jecbmhm31#

分割 int (整数)被另一个 int 总是导致 int 也就是说4/3等于1
如果你想要精确的值(用分数),其中一个数字必须是一个数字 float 或者 double 类型。更改变量的类型 totaldouble 它应该是固定的。

lokaqttq

lokaqttq2#

那是因为当一个 int 又被分开了 int ,这也将是一个 int (将真实结果四舍五入),所以

float result = (sum / total)* 100;

把它改成

float result = ((float) sum / total) * 100;

相关问题