在java中怎么把一个int类型转为char[]类型的啊

如题所述

不知道你是什么意思 要是 比如123 变成 ch[0]=1;ch[1]=2;ch[2]=3; 这样吗 这样的话还是像 其他同学所说的用 string类型转换最好了 简单

也可以自己写个方法 就是限制多点 我写的这个复杂了 就是利用 取余 和 整除 得到值 类似于 123 除 100 为 第一位 1 然后 123%100 得到 23 然后在除 10 得到2

import java.util.Scanner;

public class Test {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int si = s.nextInt();
int j=si;
char ch[] = null;
int index = 0;
for (int i = 10; i != 0; i--) {//int最大值的位数 java中因该是10位2147483647 ~-2147483648
int n = (int) Math.pow(10, i-1);//求10的i-1次方
if (ch == null) {
if ((n = j / n) != 0) {
if (j < 0) {
ch = new char[i + 1];//如果是负数 需要多出一位保存 符号
ch[index++] = '-';
} else {
ch = new char[i];
}
n=n<0?-n:n;//如果为负数 转成正数
ch[index++] = (char) (n + 48);//整形转成char类型 利用asc码 字符0 对应的是48
}
} else {

n = j%(n*10)/ n;//取余截取剩下的 值
n=n<0?-n:n;
ch[index++] = (char) (n + 48);
}

}
for (j = 0; j < ch.length; j++) {
System.out.println(ch[j]);
}
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-23
1.首先要将int 转化为String
2.然后将String 类型转化为char[]
例子:
int num=5;
String strnum=num+"";
char[] destnum=strnum.toCharArray();
希望可以帮到你本回答被提问者和网友采纳
第2个回答  2013-06-09
int num=99;
char[] a=(99+"").toCharArray();
就是这样转化了,这样char数组里就有两了长度,每个空间装的是9
第3个回答  2013-06-09
不是很明白你的意思