Java 如何显示最接近千的星号数? bar1=store1/1000; 系统输出打印(“存储1:”); 对于(inti=1;i

Java 如何显示最接近千的星号数? bar1=store1/1000; 系统输出打印(“存储1:”); 对于(inti=1;i,java,rounding,Java,Rounding,使用 bar1=(store1+500)/1000; 系统输出打印(“存储1:”); 对于(int i=1;i使用以下代码: bar1 = (store1+500)/1000; System.out.print("Store 1: "); for(int i = 1; i <= bar1; i++) System.out.print("*"); 它会将store1/1000的值四舍五入到最接近的1000。是否总是四舍五入?仅当其数字大于500时。例如,(1

使用

bar1=(store1+500)/1000;
系统输出打印(“存储1:”);
对于(int i=1;i使用以下代码:

bar1 = (store1+500)/1000;
    System.out.print("Store 1: ");
    for(int i = 1; i <= bar1; i++)
        System.out.print("*");

它会将store1/1000的值四舍五入到最接近的1000。

是否总是四舍五入?仅当其数字大于500时。例如,(17580)应具有18“*”(星号)和(22340)应该有22个星号假设
bar
store1
是整数,那么现在它不是向下舍入,也不是向上舍入。@squash69,通常的惯例是中间值也是向上舍入的。这对你合适吗,还是坚持“高于500”?
bar1 = (store1+500)/1000;
    System.out.print("Store 1: ");
    for(int i = 1; i <= bar1; i++)
        System.out.print("*");
    double store1 = 1095;
    long bar1 = Math.round(store1 / 1000);
    // int bar1 = store1/1000;
    System.out.print("Store 1: ");
    for (int i = 1; i <= bar1; i++)
        System.out.print("*");
    int store1 = 1095;
    long bar1 = Math.round(((double)store1) / 1000);
    // int bar1 = store1/1000;