import java.util.Scanner;
public class Tar0 {
static Scanner in = new Scanner (System.in);
public static void main(String[] args) {
int d, i = 0, a = 0, f = 1;
System.out.println("Enter How many Digits you want?");
d = in.nextInt();
int num[] = new int[d];
for(i = 0; i < d; i++) {
System.out.println("Enter Single Digit");
num[i] = in.nextInt();
}
for(i = d; i > 0; i--) {
a = a + (num[i] * f);
f = f * 10;
}
System.out.println("The Number is: " + a);
}
}
問:用戶將進入的位數和計劃將使從一個數字我已經自己寫的代碼,但它似乎犯規工作。Java數組得到的數字和陣列輸入使數
當運行程序:
- 輸入似乎正常工作。我試圖測試
陣列的輸出,而不與計算的第二循環,似乎工作 但隨着計算似乎粉碎:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4 at tar0.main(tar0.java:17)
這是怎麼回事?
Java使用基於0的索引。有效的索引是0 ..(d-1) – Arkadiy
請在發佈之前嘗試正確地格式化您的代碼(實際上,只是始終格式化您的代碼,它會增加可讀性,並使其更容易找到錯誤或瞭解代碼一樣)。此外,請嘗試遵循命名約定(例如:類名稱應以大寫字母開頭,變量以小寫字母開頭)。 – brimborium