算法01

1. 定义一个整型变量并赋任意五位正整数作为初始值,判断它是不是五位 回文数(五位回文数:个位与万位相同,十位与千位相同,例如:12321)

思路(升级版-循环判断):循环输入一个不为0的数进行判断

    public static void judgePalindromeNumber(long num){
        //输入0则退出循环
        while (num!=0) {
            num= new Scanner(System.in).nextLong();//从键盘获取输入值
            //判断是否是五位数
            if(num>10000&&num<100000){
                //若个位数=万位数,十位数=千位数则为真,反之为假
                if(num%10==num/10000&&num/10%10==num/1000%10){
                    System.out.println("该数字是回文数");
                    continue;
                }
                else{
                    System.out.println("该数字不是回文数");
                    continue;
                }
            }
            else{
                if(num==0) return;
                else{
                    System.out.println("请输入正确数值");
                    continue;
                }
            }
        }
    }

2. 定义一个整型变量并赋任意五位正整数作为初始值,输出各位数字之和 (例如:12345 各位之和是:1+2+3+4+5 。也就是 15)

思路:(升级版-循环判断)分别求出个、十、百、千、万位

  public static void numCount(long num) {
        while(num!=0){
            num= new Scanner(System.in).nextLong();//从键盘获取输入值
            if (num > 10000 && num < 100000) {
                int sum = 0;//各位数字之和
                sum += num % 10 + num / 10 % 10 + num / 100 % 10 + num / 1000 % 10 + num / 10000;
                System.out.println("各位数字之和为:"+sum);
                continue;
            } else {
                if(num==0) return;
                else{
                    System.out.println("请输入正确数值");
                    continue;
                }
            }
        }
    }

3. 定义整型变量 a、b,写出将 a、b 两个变量值进行互换的程序 (要求不能使用第三个变量)

思路(升级版-循环输入):b=(a+b)-b,a=(a+b)-a,所以可赋值其中一个变量初值为a+b

  public static void exchangeNum() {
        System.out.print("a的初值:");
        int a=new Scanner(System.in).nextInt();
        System.out.print("b的初值:");
        int b=new Scanner(System.in).nextInt();
        a=a+b;//a加上b的值,作为中间变量
        b=a-b;//b获得a的值
        a=a-b;//中间变量-改变后b的值,a获得b的值
        System.out.println("a改变后的值为"+new String(a+"")+"\t");
        System.out.println("b改变后的值为"+new String(b+"")+"\t");
    }

posted @ 2021-03-15 17:57  芥纳须弥  阅读(57)  评论(0)    收藏  举报