JAVA小实例(十六)

本节的实例是一个实现一个数的数字特征值。

我写了俩种代码供大家参考:

第一个如下:

package test02;

import java.util.Scanner;

public class ShuZi01 
{
	public static void main(String[] args) 
	{
        Scanner in = new Scanner(System.in);
        System.out.println("请输入:");
        int number = in.nextInt();
        int g = number%10;
        int s = number/10%10;
        int b = number/100%10;
        int q = number/1000%10;
        int w = number/10000%10;
        int sw = number/100000%10;
        int bw = number/1000000%10;
        int newpr;
        int a,c,d,e,f,h,k;
        if(number!=0&&number<1000000)
      {
        if(g%2==1){
            a=1;
        }else{
            a=0;
        }

        if(s%2==0){
            c=1;
        }else{
            c=0;
        }

        if (b%2==1){
            d=1;
        }else{
            d=0;
        }

        if (q%2==0){
           e=1;
        }else{
            e=0;
        }

        if (w%2==1){
            f=1;
        }else{
            f=0;
        }

        if (sw%2==0){
            h=1;
        }else{
            h=0;
        }

        if (bw%2==1){
            k=1;
        }else{
            k=0;
        }
        
        newpr=a*(1)+c*(2)+d*(4)+e*(8)+f*(16)+h*(32)+k*(64);
        System.out.println("该数字对应的数字特征值为"+newpr);
      }else
      {
    	  System.out.println("System Error! Please input your number again!");
      }
    }
}

这一个比较易于理解,但比较繁琐。我们再来看一下第二种代码:

package test02;

import java.util.Scanner;

public class ShuZi02 
{
	public static void main(String[] args) 
	{
        // TODO Auto-generated method stub
        Scanner in = new Scanner(System.in);
        System.out.println("请输入:");
        int number=in.nextInt(),count=0,binary=0,a;
        do
        {
            a = number%10;
            if( (a%2 == 0 && (count+1)%2 == 0) || (a%2 != 0 && (count+1)%2 != 0))
            {
                binary=binary+(int)(Math.pow(2, count));
            }
            number = number/10;
            count+=1;
        }while(number != 0);
        System.out.println("该数字对应的数字特征值为"+binary);
        in.close();
    }
}

第二种比较简洁。大家有什么想法可以评论区交流交流。

我们下期再见!

猜你喜欢

转载自blog.csdn.net/m0_52873333/article/details/121431166