Know惜 发表于 2020-11-10 20:17

代码意义

本帖最后由 Know惜 于 2020-11-10 20:32 编辑

刚学java
作业要求是:定义一个int类型的变量, 初始化值为123,求这个数的个位,十位,百位分别是多少.//定义一个,类名是VariableDemo04
public class VariableDemo04{
      //定义一个main方法,作为程序的主入口
      public static void main(String[] args){
      //定义一个int类型的变量, 初始化值为123
      int i = 123;
      int ge = i % 10;
      int shi = i / 10 % 10;
      int bai = i / 100 % 10;
      System.out.println(i + "的个位是" + ge + ",十位是" + shi + ",百位是" + bai);      
                }
}
不太明白这段代码为什么这么写
int ge = i % 10;int shi = i / 10 % 10;
int bai = i / 100 % 10;
我个人理解为
比如求百位就除以1的百倍,然后在取余
不知道是不是这个意思

166818008 发表于 2020-11-10 20:35

你这不是会吗,就单纯的数学逻辑问题,整除,求余

Kotaira 发表于 2020-11-10 20:41

123%10=123/10 的余数是3
123/10 %10=12%10 =2
123/100 %10 =1%10 =1
int 除法是向下取整

usershare 发表于 2020-11-10 20:42

没什么意义,就是利用了下Java的int类型除法规则

aswcy815174418 发表于 2020-11-10 21:02

int 类型会舍弃小数点后面的值,所以你除以10就会去掉个位数,除以100就去掉个位以及十位的数,以此类推,%10也就取个位数

无闻无问 发表于 2020-11-10 21:07

取各数位上的数呗…

kesai 发表于 2020-11-10 21:11

都可以的
页: [1]
查看完整版本: 代码意义