题目一:
回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
例如,121 是回文,而 123 不是。
分析:我们假设一个数为121,我们如何判断此数字为回文数呢?回文数是指正序和倒序读都是一样的整数。我们首先要获得121的倒序。要获得倒序数,我的解决办法是循环。
package ikun;
import java.util.Scanner;
public class likuoliexi1 {
public static void main(String[]args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个整数");
int x=sc.nextInt();
int temp=x;
int number=0;
while(x!=0){
int ge=x%10;
x=x/10;
//每次将得到的个位数放在最右面
number=number*10+ge;
}
if(temp==number){
System.out.println(temp+"是回文数");
}
else{
System.out.println(temp+"不是回文数");
}
}
}
题目二:
求商和余数
要求:给定两个整数,被除数和除数(都是正数,且不超过int的范围)。将两数相除,要求不使用乘法,除法和%运算符,得到商和余数。
解法:定义一个int类型的变量,命名为count,赋值为0。count表示的是商。divideden相减中最后的数字为余数。
package ikun;
import java.util.Scanner;
public class likuolianxi2 {
public static void main(String[]args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入被除数");
int divideden=sc.nextInt();
System.out.println("请输入除数");
int dividor=sc.nextInt();
int count=0;
while(divideden > dividor)
{
divideden=divideden-dividor;
count++;
}
System.out.println("商为:"+count);
System.out.println("余数为:"+divideden);
}
}