这个问题在这里已经有答案了:
整数除法:为什么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
2条答案
按热度按时间jecbmhm31#
分割
int
(整数)被另一个int
总是导致int
也就是说4/3等于1如果你想要精确的值(用分数),其中一个数字必须是一个数字
float
或者double
类型。更改变量的类型total
至double
它应该是固定的。lokaqttq2#
那是因为当一个
int
又被分开了int
,这也将是一个int
(将真实结果四舍五入),所以把它改成