数组-应用(作为关系映射表,作为临时容器)
前言:学习编程也有不短的时间了,不论是C++还是Java,都有着数组的运用。但是数组在什么时候使用,从来没有考虑过,或者说认为使用顺其自然。可实际开发中,常常无法想起数组,而绞尽脑汁另辟蹊径。后来通过了解,获知数组的两个实用方向。让数组作为关系映射表,称为查表法。数据多时,存储起来,让数组作为临时容器。
一、数组作为关系映射表。
如果数据出现了对应关系,而且对应关系的一方是有序的数字编号。并作为角标使用。这时就必须要想到数组的使用。
可以将这些数据存在数组中。
根据运算的结果作为角标直接去查数组中对应的元素即可。
这种方法:称为查表法。
二、数组作为临时容器。
数据一多,就先存储起来。
- /*
- 实际开发中,Java提供了内置函数。
- Integer.toBinaryString(int i);
- Integer.toOctalString(int i);
- Integer.toHexString(int i).toUpperCase();
- 在本函数中写道的内容中,没有转换成字符串。
- 对于理解数组的 查表法 和 临时变量。
- */
- class ArrayTest
- {
- public static void main(String[] args)
- {
- // toHex(26);
- toBinary(-6);
- // toOctal(26);
- System.out.println(Integer.toBinaryString(-6));
- }
- //十进制-->十六进制。
- public static void toHex(int num)
- {
- trans(num,15,4);
- }
- //十进制-->二进制。
- public static void toBinary(int num)
- {
- trans(num,1,1);
- }
- //十进制-->八进制。
- public static void toOctal(int num)
- {
- trans(num,7,3);
- }
- public static void trans(int num,int base,int offset)
- {
- if(num==0)
- {
- System.out.println("0");
- return ;
- }
- //定义一个对应关系表。
- char[] chs = {'0','1','2','3',
- '4','5','6','7',
- '8','9','A','B',
- 'C','D','E','F'};
- /*
- 一会查表会查到比较的数据。
- 数据一多,就先存储起来,在进行操作。
- 所以定义一个数组。 临时容器。
- */
- char[] arr = new char[32];
- int pos = arr.length;
- while(num!=0)
- {
- int temp = num & base;
- arr[--pos] = chs[temp];
- num = num >>>offset;
- }
- for(int x=pos ;x<arr.length; x++)
- {
- System.out.print(arr[x]);
- }
- System.out.println();
- }
- }
如有好的建议,可留言或发至笔者邮箱:fzb_xxzy@163.com