Java编程那些事儿46—数组使用示例2

6.3.6 数制转换

要求:将十进制数字转换为二进制数字。

在前面介绍过,十进制数字转换为二进制数字时一般使用除二取余法,该方法很规则,在程序中可以通过循环实现,在程序中只需要把得到的数字存储起来即可。

实现思路:将除二取余得到的第一个数字存储在数组中第一个元素,第二次得到的余数存储在数组中第二个元素,依次类推,最后反向输出获得的数字即可。

实现代码如下:

int n = 35;
int[] m = new int[32];
//拆分数字
int num = 0;
while(n != 0){
  m[num] = n % 2;//存储余数
  num++;      //拆分数字增加1
  n /= 2;     //去掉余数
}
//输出拆分后的数字
for(int i = num - 1;i >= 0;i--){
  System.out.print(m[i]);
}
System.out.println();

在该代码中,因为int是32位的,所以最多需要长度是32的数组即可。在存储时把拆分出的第一个数字,也就是二进制的低位,存储在数组的第一个元素,num代表拆分出的数字的个数以及数组下标,一直拆分到n的值为零时结束。循环结束后,因为拆分出来的数字个数是num,所以只需要反向输出数组中0到num-1下标的元素即可。

时间: 2024-11-01 20:21:45

Java编程那些事儿46—数组使用示例2的相关文章

Java编程那些事儿45—数组使用示例

6.3 数组使用示例 本部分通过一系列的示例,熟悉数组的基本语法,并演示一些使用数组可以解决的基本问题.在实际使用数组时,数组的长度以及数组中每个元素存储的数据,都根据逻辑需要进行设计. 6.3.1 循环初始化数组元素 要求:初始化一个长度为100的int数组,数组中的元素依次为1-100. 这是一个基本的使用,主要是熟悉数组的语法,在实际编写时,需要发现数组下标和数组元素值之间的规律即可. 第一种思路:循环数组的下标0-99,则和下标对应的元素的值比数组下标多1. 则实现代码如下: int[]

Java编程那些事儿47—数组使用示例3

6.3.7 数字统计 要求:统计一个整数中出现最多的数字.如果数字个数一样,则以最大的数字为准,例如1输出1,121输出1,23231输出3. 该题是一个综合的题目,在实际分析时可以分解成三个问题:1.把整数中的每个数字拆分出来,2.统计拆分出的数字中0-9每个的个数,3.获得数字个数的最大值. 实现思路: 1.拆分数字:整数和10取余可以获得该整数的个位值,然后用该整数除以10可以去掉个位(整数除法),按照这种结构实现循环,并把拆分出的数字(也就是余数)存储到数组中. 2.统计数字:声明一个长

Java编程那些事儿97——多线程使用示例2

12.3.2 模拟网络数据发送 在实际的网络程序开发中,由于网络通讯一般都需要消耗时间,所以网络通讯的内容一般都启动专门的线程进行处理. 这样,在一个最简单的网络程序程序中,至少就包含了两个线程:处理界面绘制和接收用户输入的系统线程,以及至少一个网络通讯线程. 下面以一个简单的模拟程序,实现模拟网络数据的发送功能,关于更详细的网络编程中线程的使用,可以参看后续的网络编程章节. 在该示例代码中,用户在控制台输入需要发送的内容,程序接收到用户的输入以后,启动一个单独的线程进行网络通讯,然后用户可以继

Java编程那些事儿96——多线程使用示例1

12.3 多线程使用示例 多线程技术对于初学者来说,是编程思维的一种跳跃,在实际学习时,一定要熟悉线程的基础知识,掌握线程的实现方式,然后就是开始大量的进行实践,从实践中领悟线程编程的奥妙以及实现的原理. 下面通过几个常见的例子演示多线程的基本使用. 12.3.1 定时炸弹 定时炸弹是在电影中常见的一种装置,在该部分就使用多线程技术模拟该功能.实现的功能为:在程序启动以后进行倒计时,当60秒以后程序结束,在程序运行时可以在控制台输入quit控制线程(炸弹)的暂停. 在该示例程序中,开启了一个系统

Java编程那些事儿53—方法声明示例

7.3 方法声明示例 方法实现的是功能,在实际声明方法时,不仅要根据需要确定访问控制符.修饰符.返回值类型.方法和参数列表这些信息,还要按照功能要求的逻辑实现方法体的代码.在实际设定时每个内容都需要根据功能的结构选择最恰当的内容. 下面通过一系列的示例来演示如何进行选择和设定. 7.3.1 判断某个整数是否是偶数 功能要求:判断一个整数是否是偶数 简单分析:为了实现判断任意的整数,需要在判断时从外部传入一个整数,在方法声明时,需要将该整数声明为参数.判断的结果是偶数或不是偶数,只有2个状态,可以

Java编程那些事儿44—数组基础语法

6.2 数组基本语法 了解了数组的概念以后,下面来看一下数组的语法格式.数组的语法格式主要有四种:数组声明.数组初始化.引用数组元素和获得数组长度. 6.2.1 数组声明 和变量类似,数组在使用以前也必须声明,数组的声明语法格式为: 数据类型数组名称[] 或: 数据类型[] 数组名称 例如: int m[]; char c[]; double d[]; 这里的数据类型可以是Java语言的任意数据类型,也就是说既可以是基本数据类型也可以是复合数据类型.在声明数组时使用一对中括号,该对中括号既可以放

Java编程那些事儿43—数组概述

第六章数组 数组(Array)是Java语言中内置的一种基本数据存储结构,通俗的理解,就是一组数的集合,目的是用来一次存储多个数据. 数组是程序中实现很多算法的基础,可以在一定程度上简化代码的书写. Java语言中的数组可以分为:一维数组和多维数组,本部分将首先以一维数组为基础进行讲解,最后讲解多维数组的概念和相关的理解.使用. 6.1 数组概述 在程序中,如果需要存储一个数值的话,则可以在代码中声明一个变量来进行存储,但是有些时候,为了程序操作的方便,需要将一组相关的数值存储在一起,这就是数组

Java编程那些事儿25—位运算符

4.5 二进制运算符 由于计算机内部的数据都以二进制的形式存在,所以在Java语言中提供了直接操作二进制的运算符,这就是下面要讲解的位运算符和移位运算符. 使用二进制的运算符,可以直接在二进制的基础上对数字进行操作,执行的效率比一般的数学运算符高的多,该类运算符大量适用于网络编程.硬件编程等领域. 二进制运算符在数学上的意义比较有限. 在Java代码中,直接书写和输出的数值默认是十进制,Java代码中无法直接书写二进制数值,但是可以书写八进制和十六进制数字,八进制以数字0开头,例如016,十六进

Java编程那些事儿52—方法声明

第七章 方法 方法(method),在面向过程的语言中称作函数(function),在汇编语言中称作子程序,是一个代码功能块,实现某个特定的功能.在实际的程序开发中,方法是一种基础的组织代码的方式.本部分就介绍方法相关的概念.相关语法以及实际使用时需要注意的问题. 7.1 方法概述 方法的概念来源于数学上的函数,在数学中,当数据具有一定的规律时,就是用一个函数来代码该数字的规律,例如f(n)=n则代表1.2.3.--这样的一个数列.在数学上n是参数,对于确定的n值只有一个f(n)的值和它对应.