Erreur en lecture de caractères
Bonjour
Je vous mets tout (puisque cela me sert pour avoir un récapitulatif de JAVA) mais le problème est juste à la fin: j'ai le message " String index out of range: 0
at java.lang.String.charAt(Unknown Source)"
Pourquoi donc ?
Merci
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| import java.util.Scanner;
public class AfficheTension {
public static void main(String[] args) {
//définition des variables
byte valeur8Bits=11;
int valeurInt=0,x=0,y=0;
double resultat=0; //pour autoriser nbre a virgule
char lettreReponse='O';
String chaineResultat = new String();
Scanner sc = new Scanner(System.in); // importe classe scanner pour clavier
// pour importer toutes classes util: import java.util (en début)
// byte= -128 a +128 ,hexa = 0xFF, binaire= 0b00010101
// boolean= 8 bits
// short = 16 bits signés = -32768 à +32767
// int = 32 bits signés
// long = 64 bits flottant
// float = 64 bits flottant
// double = 64 bits flottant
// char = 16 bits caractère
//NB notation: valeur=255 <-> valeur=2_55<-> valeur=2_5_5
//opération pour obtenir nbre a virgule à partir d'un entier
resultat= (double)(valeur8Bits) / 2; //on convertit ("cas"t) d'abord Valeur8Bits en double
System.out.println("ValeurEntiere="+resultat);
//transfert d'un nombre vers une chaine
chaineResultat=chaineResultat.valueOf(resultat);
System.out.println("ChaineResultat="+chaineResultat+"\n");
//entrée d'une chaine
System.out.println("Tapez un ou des mots");
chaineResultat = sc.nextLine(); //nextLine pour attendre chaine, sc.nextInt pour entier...
System.out.println("Vous avez saisi : " + chaineResultat+"\n");
//entrée d'un nombre
System.out.println("Tapez un chiffre");
resultat = sc.nextDouble();
System.out.println("Vous avez saisi la valeur: " + resultat+"\n");
//utilisation du if
if (resultat>10) //note egalité == , et && , ou ||
{ //accolade facultative si une seule ligne
System.out.println("Supérieur à dix");
}
else
{
System.out.println("Inférieur à onze");
}
//utilisation de switch
valeurInt=(int) resultat;
switch (valeurInt)
{
case 10:
System.out.println("Dix trouvé !!");
break; //indique qu'il faut sortir du switch
default: // indication du cas "else"
System.out.println("Différent de dix");
}
//utilisation du while
while (x<10 && lettreReponse=='O')
{
System.out.println(x);
//utilisation d'une lettre
System.out.println("Voulez-vous continuer ? (O/N)");
lettreReponse = sc.nextLine().charAt(0);
x++;
}
System.out.println("FIN de AfficheTension ");
}
} |