我很抱歉,如果标题有点令人困惑,我在试图说出我想说的话时遇到了一些麻烦。
这是我的代码:
public class Assignment3 {
public static void main(String[] args) {
int A = 100;
int B = 20;
int C = 30;
int X = 4 * A;
int Y = 3 * (B + C);
int Z = X / Y;
System.out.println("The value of A is " + A + ".");
System.out.println("The value of B is " + B + ".");
System.out.println("The value of C is " + C + ".");
System.out.println("The answer is " + Z + ".");
}
}
当我知道答案是2.6重复时,它一直给我2个答案。任何想法为什么以及如何解决它?提前谢谢。
答案 0 :(得分:3)
X和Y都是整数(非十进制值)。如果执行整数除法,则会截断小数,从而导致意外答案。
答案 1 :(得分:1)
你必须做的两件事。 - 将Z的类型更改为float。 - 投射A或B以漂浮在分区中,因为它们都是整数。
试试这个,你会得到正确的结果:
float Z = (float) X / Y;