int testInt =1234; char[] inner=new char[4]; int num2=testInt; int flag = 1000; for(int i=0;i<4;i++){ int num = num2/flag; num2 = testInt % flag; inner[i] = String.valueOf(num).charAt(0); flag = flag/10; System.out.println(inner[i]); }
public class Test { static int i=1234; static char[] inner=new char[4]; public static void fillChar(char[] inner, int i) { String temp = "" + i; int arrayLength = inner.length; int stringLength = temp.length();
if (stringLength > arrayLength) return; if (stringLength < arrayLength) { for (int j=stringLength; j<arrayLength; j++) temp = "0" + temp; } System.arraycopy(temp.toCharArray(),0,inner,0,arrayLength); } public static void main(String[] args) { fillChar(inner,i); for (int i=0; i<inner.length; i++) { System.out.println(inner[i]); } } }
int testInt =123456; String tempStr =String.valueOf(testInt); if(tempStr.length()>4){ testInt = Integer.parseInt(tempStr.substring(tempStr.length()-4,tempStr.length())); } char[] inner=new char[4]; int num2=testInt; int flag = 1000; for(int i=0;i<4;i++){ int num = num2/flag; num2 = testInt % flag; inner[i] = String.valueOf(num).charAt(0); flag = flag/10; System.out.println(inner[i]); }那就这样试试
public class Test { static int i=12345678; static char[] inner=new char[4]; public static void fillChar(char[] inner, int i) { String temp = "" + i; int arrayLength = inner.length; int stringLength = temp.length();
if (stringLength > arrayLength) return; if (stringLength < arrayLength) { for (int j=stringLength; j<arrayLength; j++) temp = "0" + temp; } System.arraycopy(temp.toCharArray(),0,inner,0,arrayLength); } public static void main(String[] args) { fillChar(inner,i); for (int i=0; i<inner.length; i++) { System.out.println(inner[i]); } } }输出一大堆乱码.怎么回事?
char[] inner=new char[4];
int num2=testInt;
int flag = 1000;
for(int i=0;i<4;i++){
int num = num2/flag;
num2 = testInt % flag;
inner[i] = String.valueOf(num).charAt(0);
flag = flag/10;
System.out.println(inner[i]);
}
或者testInt =123456呢?怎么处理啊?
还有这个条件?
要是testInt =123456你要什么结果?
1
4
5
6程序:
int testInt =123456;
char[] inner=new char[4];
int num2=testInt;
int flag = 1000;
for(int i=0;i<4;i++){
int num = num2/flag;
num2 = testInt % flag;
inner[i] = String.valueOf(num).charAt(0);
flag = flag/10;
System.out.println(inner[i]);
} }
要是不为零 看余几就加几个零
{
static int i=1234; static char[] inner=new char[4]; public static void fillChar(char[] inner, int i)
{
String temp = "" + i;
int arrayLength = inner.length;
int stringLength = temp.length();
if (stringLength > arrayLength)
return;
if (stringLength < arrayLength)
{
for (int j=stringLength; j<arrayLength; j++)
temp = "0" + temp;
}
System.arraycopy(temp.toCharArray(),0,inner,0,arrayLength);
}
public static void main(String[] args)
{
fillChar(inner,i);
for (int i=0; i<inner.length; i++)
{
System.out.println(inner[i]);
}
}
}
String tempStr =String.valueOf(testInt);
if(tempStr.length()>4){
testInt = Integer.parseInt(tempStr.substring(tempStr.length()-4,tempStr.length()));
}
char[] inner=new char[4];
int num2=testInt;
int flag = 1000;
for(int i=0;i<4;i++){
int num = num2/flag;
num2 = testInt % flag;
inner[i] = String.valueOf(num).charAt(0);
flag = flag/10;
System.out.println(inner[i]);
}那就这样试试
{
static int i=12345678; static char[] inner=new char[4]; public static void fillChar(char[] inner, int i)
{
String temp = "" + i;
int arrayLength = inner.length;
int stringLength = temp.length();
if (stringLength > arrayLength)
return;
if (stringLength < arrayLength)
{
for (int j=stringLength; j<arrayLength; j++)
temp = "0" + temp;
}
System.arraycopy(temp.toCharArray(),0,inner,0,arrayLength);
}
public static void main(String[] args)
{
fillChar(inner,i);
for (int i=0; i<inner.length; i++)
{
System.out.println(inner[i]);
}
}
}输出一大堆乱码.怎么回事?