题目一:
回文数
给你一个整数 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); } }