栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA小实例(十六)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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();
    }
}

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

我们下期再见!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/572712.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号