This question already has answers here:
Int division: Why is the result of 1/3 == 0?
                                
                                    (15个答案)
                                
                        
                                去年关闭。
            
                    
为什么此程序的输出是1 1 2 2 3 3而不是1 1 2 2 3 1

class Scratch {
    public static void main(String[] args) {
        int[] a = { 1, 2, 3, 4, 5, 3 };
        for (int i = 0; i < 6; i++)
            System.out.print(a[i / 2] + " ");
    }
}


当您将3/2相除时,它等于1.5,我认为Java只采用了整数的第一个值。这是怎么回事?

最佳答案

您正在划分索引而不是值。为了得到您想要的结果,您应该在方括号之外进行除法:

System.out.print(a[i] / 2 + " ");
// Here --------------^

关于java - 为什么输出1 1 2 2 3 3不是1 1 2 2 3 1整数除法[duplicate],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49905452/

10-13 05:13