Java string index out of range: 0

J'ai ce problème où dès que je rentre de ma première entrée le programme se bloque et je reçois

String index out of range: 0

J'ai regardé ailleurs et essayé de trouver mes erreurs mais j'ai trouvé différents problèmes, qui ne sont pas ce que j'avais. Quelqu'un pourrait-il me dire où je l'ai mal tourné?.

Merci pour votre aide, voici le code:

import java.util.Scanner;
public class Assignment1Q2 {
public static void main(String[] args) {
System.out.println("Thank you for your call,\nPlease take some time to answer a few questions");
collectData();
}//end of main
public static void collectData() {
Scanner userInput = new Scanner(System.in);
int age;
char gender;
char show;
int over30MY = 0, over30FY = 0, under30MY = 0, under30FY = 0;
int over30MN = 0, over30FN = 0, under30MN = 0, under30FN = 0;
System.out.println("\nWhat is your age?\n");
age = userInput.nextInt();
System.out.println("Male or Female (Enter M or Y)");
gender = userInput.nextLine().charAt(0);
gender = Character.toLowerCase(gender);
System.out.println("Do you watch the show regularly? (Enter Y or N)");
show = userInput.nextLine().charAt(0);
show = Character.toLowerCase(show);
if((age > 30) && (gender == 'm') && (show == 'y')) {       
over30MY++;             
}
else if((age > 30) && (gender == 'f') && (show == 'y')) {
over30FY++;
}
else if((age < 30) && (gender == 'm') && (show == 'y')) {
under30MY++;
}
else if((age < 30) && (gender == 'f') && (show == 'y')) {
under30FY++;
}
else if((age > 30) && (gender == 'm') && (show == 'n')) {
over30MN++;
}
else if((age > 30) && (gender == 'f') && (show == 'n')) {
over30FN++;
}
else if((age < 30) && (gender == 'm') && (show == 'n')) {
under30MN++;
}
else if((age < 30) && (gender == 'f') && (show == 'n')) {
under30FN++;
}//end of if else
}//end of collectData
}//end of class
Pourquoi, ohhh pourquoi les gens pensent que la trace de la pile est sans importance? Bien que, dans ce cas, il y a que 2 possibilités .... Néanmoins!
c'est là que vous avez réellement lui dire ce que sont les possibilités, et pourquoi les traces de pile sont importants plutôt que de l'affichage de votre complètement inutile commentaire.
Il aide vraiment à ajouter dans au moins la partie de votre stack trace de ce qui est l'erreur réelle, et la ligne à laquelle il se produit.

OriginalL'auteur user2704743 | 2013-08-21