练习一:
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
*/
}
}
练习三:如图




















