Java 双整数转换
当我尝试乘以2个int值时,我不知道为什么这个代码段会产生以下输出。这可能太愚蠢了,但我就是不明白。我已经在这里粘贴了代码和输出Java 双整数转换,java,casting,type-conversion,Java,Casting,Type Conversion,当我尝试乘以2个int值时,我不知道为什么这个代码段会产生以下输出。这可能太愚蠢了,但我就是不明白。我已经在这里粘贴了代码和输出 public static void main(String[] args) { // TODO code application logic here String numstring = "12122"; char[] numArray = numstring.toCharArray(); int num =0; int i
public static void main(String[] args) {
// TODO code application logic here
String numstring = "12122";
char[] numArray = numstring.toCharArray();
int num =0;
int index = 10;
int count = 0;
for(int i=numArray.length-1;i>=0;i--){
int ind = (int)(Math.pow(index,count));
System.out.print(numArray[i]+"*"+ind);
System.out.println(" prints as ----->"+numArray[i]*ind);
count++;
}
}
输出:
2*1 prints as ----->50
2*10 prints as ----->500
1*100 prints as ----->4900
2*1000 prints as ----->50000
1*10000 prints as ----->490000
字符实际上是隐藏的整数,因此,例如,字符“2”的整数值为50 要查看哪个整数对应于哪个字符,请查看 若要执行所需操作,应使用以下方法:
你不是在乘以两个整数。将
int
,ind与char
,'2'
,其ASCII值为50
(至少在第一种情况下)相乘。您可以使用int[]
,或者如果您想继续使用char[]
,您可以执行以下操作:
System.out.println(" prints as ----->"+ Character.getNumericValue(numArray[i]) * ind);
呃…我讨厌我自己…谢谢你指出这一点
System.out.println(" prints as ----->"+ Character.getNumericValue(numArray[i]) * ind);