I am getting an exception and i don´t understand why
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = 3;
int[] numbers = new int[n];
float total = 0;
for (int i = 1; i <= 3; i++) {
System.out.println("Please type the number " + i + ":");
numbers[i] = input.nextInt();
total = total + numbers[i];
}
System.out.println("The average of the 3 number is: " + total / n);
}
Console:
Please type the number 1:
3
Please type the number 2:
4
Please type the number 3:
5
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
at Ejercicio12.main(Ejercicio12.java:17)
because array index start at 0
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = 3;
int[] numbers = new int[n];
float total = 0;
for (int i = 0; i <= 2; i++) {
int row=i+1;
System.out.println("Please type the number " + row + ":");
numbers[i] = input.nextInt();
total = total + numbers[i];
}
System.out.println("The average of the 3 number is: " + total / n);
}
Indexes starts from 0. Your length is 3 and your counter variable ( i
) starts from 1.
You can use
for (int i = 0; i < 3; i++)
Try this, insert this inside your main method
Scanner input = new Scanner(System.in);
int n = 3;
int[] numbers = new int[n];
float total = 0;
for (int i = 0; i < 3; i++) {
System.out.println("Please type the number " + (i + 1) + ":");
numbers[i] = input.nextInt();
total = total + numbers[i];
}
System.out.println("The average of the 3 number is: " + total / n);
If you're facing error listed below
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
var arr = arrayOf("One","Two","Three")
println(arr[3])
In this Array we just defined three values and index start from 0, So Index 3 doesn't exist in array that's why it's giving this Exception
Try to print index value which includes in Array Such As
println(arr[1])
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.