Her şey boole yöntem true döndürür zaman, doğru iş gibi görünüyor.sabitleme İstisna benim koduyla
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 9
at FunArrays.main(FunArrays.java:15
eksik ya da benim koduyla bakan am Ne: kullanıcı aşağıdaki hatayı alırsınız 10 numara girdikten sonra Ancak, ne zaman, yanlış sınıyor musun?
İşte benim kodudur:
import java.util.Scanner;
public class FunArrays {
public static void main(String[] args) {
Scanner input = new Scanner (System.in);
System.out.println("Please enter ten numbers....");
int [] userArray = new int [9];
for(int b = 0; b < 10 ; b++){
userArray [b] = input.nextInt();
}
boolean lucky = isLucky(userArray);
if (lucky){
sum(userArray);
} else
sumOfEvens(userArray);
}
public static boolean isLucky(int [] numbers){
for (int i = 0; i <= numbers.length; i++){
if (numbers[i]== 7 || numbers[i] == 13 || numbers[i] == 18){
return true;
}
}
return false;
}
public static void sum(int [] numbers){
int sum = 0;
for (int x = 0; x <= numbers.length -1; x++){
sum += numbers[x];
}
System.out.println(sum);
}
public static void sumOfEvens(int [] numbers){
int evens = 0;
for (int y = 0; y <= numbers.length -1; y++){
if (numbers[y] % 2 == 0){
evens += numbers[y];
}
}
System.out.println(evens);
}
}
usersArray uzunluğu 9 uzunlukta bir dizi 10 numara saklamak için çalışıyoruz (0: Burada
Dizileri üzerinde iyi bir okuma olduğunu ... 8) - ama senin döngü 0'dan 9'a çıkıyor. Yani b 9 olduğunda, dizinin sınırları dışındasın. – matmoZihnin dizide tutun – Subhiksh
9 elemanlı diziyi oluştururken '0-indexed' vardır. Bu, her programcının sahip olduğu ve deneyimleyeceği şeylerden biri. :) –