8
votes

java.lang.arrayindexoutofboundSException: 0 - Array plus grand que l'index?

L'exception est-elle lancée indique que le tableau est plus grand que l'index? Sinon, qu'est-ce que cela signifie et pourquoi? Comment puis-je le corriger?


Exception dans le fil "Main" Java.Lang.ArrayIndexOtOfboundSException: 0 À Leapear.leapyeAppyeAppyAu.Main (JAPPYEAR.JAVA:13) P>


public class LeapYear {

public static void main(String[] args) { 
    int year = Integer.parseInt(args[0]);
    boolean isLeapYear;

    // divisible by 4
    isLeapYear = (year % 4 == 0);

    // divisible by 4 and not 100
    isLeapYear = isLeapYear && (year % 100 != 0);

    // divisible by 4 and not 100 unless divisible by 400
    isLeapYear = isLeapYear || (year % 400 == 0);

    System.out.println(isLeapYear);
}
}


1 commentaires

system.out.println (argendge); // et la commande est restaurée


5 Réponses :


4
votes

Cela signifie qu'il est plus petit que l'index. En d'autres termes, il n'y avait pas d'arguments de ligne de commande et vous supposez qu'il y en avait au moins un.


0 commentaires

5
votes

Cela signifie que la matrice est plus petite que l'index. Dans ce cas, cela signifie que la matrice est vide.

Vous devez passer un argument de ligne de commande afin d'avoir une valeur là-bas. Et si nécessaire, vous feriez mieux d'ajouter une certaine validation, comme xxx


0 commentaires

0
votes

jeté pour indiquer qu'un tableau a été consulté avec un indice illégal. L'indice est négatif ou supérieur ou égal à la taille de la matrice.

Voici un chèque contre cela. P>

public static void main(String[] args) { 
if (args.length != 1){
    System.out.println("Year Required")
    System.exit(0);
}
    int year = Integer.parseInt(args[0]);
    boolean isLeapYear;

    // divisible by 4
    isLeapYear = (year % 4 == 0);

    // divisible by 4 and not 100
    isLeapYear = isLeapYear && (year % 100 != 0);

    // divisible by 4 and not 100 unless divisible by 400
    isLeapYear = isLeapYear || (year % 400 == 0);

    System.out.println(isLeapYear);
}


0 commentaires

1
votes

Vous accédez à un index de la matrice qui n'existe pas. Cela se produirait pour tout index inférieur à 0 ou supérieur ou égal à la longueur de la matrice.

Ajoutez ceci xxx


0 commentaires

17
votes

Le tableau ne contient aucun élément - c'est un tableau vide. Ainsi, lorsque vous demandez le premier élément du tableau (l'élément contenue à l'index 0), le tableau indique "Je n'ai pas d'élément à l'index 0". Il "dit" en jetant une exception. Dans votre cas, l'exception est java.lang.arrayindexoutofboundsException: 0

Cela signifie que l'index que vous avez demandé est en dehors des limites de la matrice. En d'autres termes, la matrice a une longueur (ses limites). Quand sa longueur est 0 (c'est vide) et que vous demandez le 1er élément, le tableau vous indique que l'élément que vous avez demandé est indisponible car la matrice n'est même pas longue.


0 commentaires