gpt4 book ai didi

java - 双整数转换困惑

转载 作者:行者123 更新时间:2023-12-01 14:24:38 26 4
gpt4 key购买 nike

当我尝试将 2 个 int 值相乘时,我不知道为什么此代码片段会产生以下输出。这可能太愚蠢了,但我就是不明白。我已将代码和输出粘贴到此处

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

最佳答案

您没有将两个整数相乘。您乘以 intind,带有 char , '2' ,其 ASCII 值为 50 (至少在第一种情况下)。您可以使用int[] ,或者如果您想坚持使用 char[] ,您可以执行以下操作:

System.out.println(" prints as ----->"+ Character.getNumericValue(numArray[i]) * ind);

关于java - 双整数转换困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17266070/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com