练习一: package com.shhfg.ds; public class HelloWorld01 { public static void main(String[] args) { /* 需求:给你一个整数 a 如果 a 是一个回文整数,打印true,否则,还回false。 解释:回文数是指正序(从左到右)和倒序(从右到左)读都是一样的整数 例如:121 是回文数,而123 不是回文数 */ //核心思路:把数字倒过来跟原来的数字进行比较 //1。定义数字 int a=12345; //定义一个临时变量用于记录a原来的值,用于最后进行比较 int temp=a; //记录倒过来之后的结果 int num=0; //2.利用循环开始 while (a!=0){ //从左到右获取每个数字 int ge=a%10; //修改一下a记录的值 a=a/10; //把当前获取到的数字拼接到最右边 num=num*10+ge; } //3.打印num System.out.println(num);//54321 System.out.println(a);//0 //4.比较 System.out.println(num==temp); /*运行 54321 0 false */ /* //1。定义数字 int a=12; //123 //1234 //12345 //2.获取个位 int ge=a %10; //2 //3.获取十位 int shi=a/10%10; //1 //拼接 int result=ge*10+shi; System.out.println(result); */ } }
练习二:
package com.shhfg.ds; public class HelloWorld02 { public static void main(String[] args) { /* 需求:给定两个整数,被除数和除数(都是正数,且不超过int的范围)。 将两数相除,要求不使用乘法,除法和 % 运算符。 得到商和余数。 分析: 被除数/除数=商...余数 int a=100; int b=10; 100-10=90 90-10=80 80-10=70 70-10=60 ... 10-10=0(余数) */ //1.定义变量记录被除数 int dividend=100; //2.定义变量记录除数 int divisor=39; //3.定义一个变量用来统计相减了多少次 int count=0; //4.循环while //在循环中,不断的用被除数-除数 //只要被除数 是大于等于除数的,那么就一直循环 while (dividend >= divisor){ dividend = dividend - divisor; //只要减一次,那么统计变量就自增一次 count++; } //当循环结束之后dividend变量记录的就是余数 System.out.println("余数为:" + dividend); //当循环结束之后,coun记录的值就是商 System.out.println("商为:" + count); /* 余数为:22 商为:2 */ } }
练习三:如图