黑马程序员技术交流社区
标题:
怎么把int类型转换成int[]类型数组
[打印本页]
作者:
李君言
时间:
2013-4-28 01:30
标题:
怎么把int类型转换成int[]类型数组
本帖最后由 李君言 于 2013-4-28 15:39 编辑
例如 int a=961278;
a是一个数字961278
怎么把它转成数组
int[] b = { 9,6,1,2,7,8};
作者:
刘云东
时间:
2013-4-28 01:44
int a=961278;
string str=a.ToString()[1].ToString();
作者:
王鹏程
时间:
2013-4-28 01:57
代码如下:
12.jpg
(8.67 KB, 下载次数: 0)
下载附件
2013-4-28 01:57 上传
作者:
xiaohu1218
时间:
2013-4-28 11:03
本帖最后由 xiaohu1218 于 2013-4-28 11:05 编辑
我用java写的,你可能需要改下函数声明部分,但是思想是一致的,代码如下:
(得先声明一个全局变量len,记录数组实际的长度;
还有数组也是全局变量)
public static void Trans(int num)
{
//System.out.println(num);
int new_num =num;
for(int i = 9; i>=0;i--)
{
int divide = (int)Math.pow(10,i);//获取10的i次方,并将其强制转为整形数据
if(num/divide==0)
continue;
else
{
//len=i;
len +=1;//获取实际数据个数。跟数组长度无关,因为在数组初始化的时候已经定义了长度
if(i!=9)//减去高位中的数据。例如:897,要获取7就要减去800,再减去90,
//每次被除数都会改变
{
int x=(int)Math.pow(10,i+1);
new_num =(int)(new_num-b[i+1]*x);
}
b
=new_num/divide; //获取b
//调试代码
/*
System.out.println(x);
System.out.println(new_num);
System.out.println(b
);
System.out.println(len);
*/
}
}
for(int j =len;j>0;j--)
System.out.println(b[j-1]);//输出数组
}
作者:
黄晓波
时间:
2013-4-28 12:48
本帖最后由 黄晓波 于 2013-4-28 12:58 编辑
class Program
{
static void Main(string[] args)
{
int a = 961278;
//将int类型的变量a转换成string类型,再利用string的ToCharArray()转换成char数组
char[] aCharArray = a.ToString().ToCharArray();
//定义数组,用于存储a的int类型的元素
int[] b = new int[aCharArray.Length];
//将char数组aCharArry的元素转换成string类型,再转换成int类型。
//如果直接将char数组的元素转成int,得到的值不是元素值,而是该元素的ASCII码
for (int i = 0; i < aCharArray.Length; i++)
{
b[i] = Convert.ToInt32(Convert.ToString(aCharArray[i]));
}
//查看int数组b的元素值和数据类型
for (int i = 0; i < b.Length; i++)
{
Console.WriteLine("b[{0}]\t{1}\t{2}", i, b[i].GetType(), b[i]);
}
Console.ReadKey();
}
}
复制代码
作者:
陈晖
时间:
2013-4-28 12:54
int a = 961278;
int[] b = new int[6];
int temp = 100000;
for(int i=0;i<6;i++)
{
//将位数上的数字提取出来
b[i] = a/ temp;
//将前一位的数字砍掉,方便后面继续获得位数上的数字
a -= b[i] * temp;
temp /= 10;
}
试一下这个?:)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2