• 进制之间的转换()刚入门先写个简单的练练手)


     1 package com.itheima;
     2 
     3 import java.util.Scanner;
     4 //该类是我闲暇无事做的,解决了在65536之内的十进制数转换成其他进制的问题.
     5 public class JinZhi {
     6         public static void main(String[] args){
     7             Scanner sc = new Scanner(System.in);
     8             System.out.print("请输入要转换的目标进制:");
     9             int i =sc.nextInt();
    10             System.out.print("请输入十进制数:(小于65535)");
    11             int j =sc.nextInt();
    12             int y;
    13             boolean stwich=true;
    14             int k=0;
    15             //创建一个用来存放余数的数组
    16             int array[]=new int[16];
    17             //用判断语句确定目标进制不能是0
    18             if (i!=0){
    19                     //用一个while循环来判断余数计算是否要结束.
    20                     while (j!=0){
    21                         y=j%i;
    22                         j= j/i;
    23                         array[k]=y;
    24                         k++;
    25                         //由于数组的延长我还不会,所以用一个if语句来避免数组的溢出
    26                         if(k>15){
    27                             System.out.println("输入数值过大.");
    28                             //该布尔值为了避免在数组溢出的情况下,程序继续输出前边计算的错误结果
    29                             stwich=false;
    30                             break;
    31                         }                    
    32                     }
    33                     //当stwich是为真时,说明前边程序计算正常,用一个for循环将数组中的元素倒序输出
    34                     if (stwich==true){
    35                         //i=(k-1)是数组值从最后边输出既保证正确的结果,有保证在十进制数值小时不会出现前边一大串0
    36                         for (i=(k-1);i>=0;i--){
    37                             System.out.print(array[i]);
    38                             //用一个while循环每隔四位数输出一个空格是输出格式更好看
    39                             while ((k-i)%4==0){
    40                                 System.out.print(' ');
    41                                 break;
    42                             }
    43                         }
    44                     }
    45 
    46             }
    47             else{
    48                 System.out.println("输入有误,请重新输入!");
    49             }
    50             
    51             
    52         }
    53 }
    代码内有注释所以就不解释了.并且这么简单也不用我多费口舌.要是真的有不懂得可以留言.
    欢迎各个大神提出改进的意见,各种改进我都接受!感谢!!
  • 相关阅读:
    转: 关于linux用户时间与系统时间的说明
    转: 关于CAS cpu锁的技术说明。
    基于TCPCopy的Dubbo服务引流工具-DubboCopy
    Netty中的坑(下篇)
    编写明显没有错误的代码
    Zookeeper-Zookeeper client
    Zookeeper-Zookeeper leader选举
    Zookeeper-Zookeeper启动过程
    Zookeeper-Zookeeper的配置
    Zookeeper-Zookeeper可以干什么
  • 原文地址:https://www.cnblogs.com/lkyang/p/7668531.html
Copyright © 2020-2023  润新知