我的 java 代码在线程 "main" java.lang.ArrayIndexOutOfBoundsException 中抛出异常?
My java code throws Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException?
我的 java 代码在线程 "main" java.lang.ArrayIndexOutOfBoundsException 中抛出异常?
代码看起来像这样。它写在java中。 IDE使用的是Eclipse
package week5;
import java.util.*;
import java.lang.Math;
public class DecimalToHex {
public static void main(String[] args) {
Scanner sn=new Scanner(System.in);
System.out.println("--Enter Hexadecimal Number--");
String hex=sn.next();
ConvertHexaToDec(hex.toUpperCase());
sn.close();
}
public static void ConvertHexaToDec(String hex)
{
String hexChar="0123456789ABCDEF";
int[] eachChar=new int[hex.length()];
int finalDeci=0;
for(int i=0;i<hex.length();i++)
{
eachChar[i]=hexChar.indexOf(hex.charAt(i));
}
for(int i:eachChar)
{
finalDeci=finalDeci+eachChar[i]*((int)Math.pow(10, i));
}
System.out.println("Decimal Value Is "+finalDeci);
}
}
我的 java 代码在线程 "main" java.lang.ArrayIndexOutOfBoundsException 中抛出异常?
错误显示。
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at week5.DecimalToHex.ConvertHexaToDec(DecimalToHex.java:27)
at week5.DecimalToHex.main(DecimalToHex.java:12)
for(int i:eachChar)
{
finalDeci=finalDeci+eachChar[i]*((int)Math.pow(10, i));
}
这里 i
已经有了 eachChar[i]
的值,因为您使用的是 for-each
循环而不是 indexed for
循环。
查看 For-Each Loop 了解更多详情。
我的 java 代码在线程 "main" java.lang.ArrayIndexOutOfBoundsException 中抛出异常? 代码看起来像这样。它写在java中。 IDE使用的是Eclipse
package week5;
import java.util.*;
import java.lang.Math;
public class DecimalToHex {
public static void main(String[] args) {
Scanner sn=new Scanner(System.in);
System.out.println("--Enter Hexadecimal Number--");
String hex=sn.next();
ConvertHexaToDec(hex.toUpperCase());
sn.close();
}
public static void ConvertHexaToDec(String hex)
{
String hexChar="0123456789ABCDEF";
int[] eachChar=new int[hex.length()];
int finalDeci=0;
for(int i=0;i<hex.length();i++)
{
eachChar[i]=hexChar.indexOf(hex.charAt(i));
}
for(int i:eachChar)
{
finalDeci=finalDeci+eachChar[i]*((int)Math.pow(10, i));
}
System.out.println("Decimal Value Is "+finalDeci);
}
}
我的 java 代码在线程 "main" java.lang.ArrayIndexOutOfBoundsException 中抛出异常? 错误显示。
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at week5.DecimalToHex.ConvertHexaToDec(DecimalToHex.java:27)
at week5.DecimalToHex.main(DecimalToHex.java:12)
for(int i:eachChar)
{
finalDeci=finalDeci+eachChar[i]*((int)Math.pow(10, i));
}
这里 i
已经有了 eachChar[i]
的值,因为您使用的是 for-each
循环而不是 indexed for
循环。
查看 For-Each Loop 了解更多详情。