Il y a actuellement 215 visiteurs
Mercredi 24 Avril 2024
accueilactualitésdossierscomparer les prixtélécharger gratuitement vos logicielsoffres d'emploiforum informatique
Connexion
Créer un compte

[RESOLU] JAVA - Problème charAt()

Besoin d'aide pour configurer un serveur ? Vous souhaitez obtenir des conseils pour référencer votre site ? Un petit souci pour accéder à votre FTP ? Des soucis de programmation en PHP / ASP / HTML / XHTML / XML / XSLT / CSS / ReactJS / AngularJS / VueJS / CGI / PERL / C / MySQL / PostgreSQL ??? Nous avons peut-être la solution dans ce forum ...

[RESOLU] JAVA - Problème charAt()

Message le 24 Mar 2010 15:23

Bonjour à tous et toutes.

Etant donné que je suis en stage et que je n'ai pas grand chose à faire, je me suis dit que je pourrais me mettre un peu au java.

j'ai donc commencé à faire une calculatrice dans ce langage.
un problème se pose. Je n'arrive pas à transformer mon String en char :

L'erreur :
Code: Tout sélectionner
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
   at java.lang.String.charAt(Unknown Source)
   at demande.main(demande.java:26)


La partie de code concerné :
Code: Tout sélectionner
do {
         System.out.println("Selectionner l'opération à effectuer : \n x --> Multiplication \n / --> division \n + --> addition \n - --> soustraction \n");
         choix = scanner.nextLine();
         operation = choix.charAt(0);
      } while ((operation == '+') || (operation == '-') || (operation == 'x') || (operation == '/'));


merci de votre aide dans mes début fort peu concluant !
Avatar de l'utilisateur
Titom79
Expert(e)
Expert(e)
 
Messages: 977
Inscription: 06 Aoû 2007 17:44
 


Re: JAVA - Problème charAt()

Message le 24 Mar 2010 16:42

Salut,

La variable operation est bien déclarée en Char ?

C'est étrange, parceque l'exception de dis "out of range" alors que un String commence bien à l'indice 0 normalement...

Tu pourrais nous faire voir tout ton code ?
Avatar de l'utilisateur
H3bus
Moderateur
Moderateur
 
Messages: 12195
Inscription: 08 Avr 2008 15:13
Localisation: /home/h3bus
 

Re: JAVA - Problème charAt()

Message le 24 Mar 2010 17:01

Biensure, voici tout le code et toutes les variables sont déclaré il me semble sinon il me l'aurait dit !

Code: Tout sélectionner
import java.util.Scanner;


public class demande {

   /**
    * @param args
    */
   public static void main(String[] args) {
      
      double resultat = 0;
      double nmbUn = 1;
      double nmbDeux;
      String choix = new String ();
      int numero = 0;
      char operation;
      Scanner scanner = new Scanner (System.in);
      
      System.out.println("Tapez votre nombre numéro \n" + numero);
      nmbUn = scanner.nextDouble();
      numero ++;
      
      do {
         System.out.println("Selectionner l'opération à effectuer : \n x --> Multiplication \n / --> division \n + --> addition \n - --> soustraction \n");
         choix = scanner.nextLine();
         operation = choix.charAt(0);
      } while ((operation == '+') || (operation == '-') || (operation == 'x') || (operation == '/'));

      System.out.println("Tapez votre nombre numéro " + numero + "\n");
      nmbDeux = scanner.nextDouble();
      numero ++;
   
         switch (operation)
         {
            case '+': resultat = nmbUn+nmbDeux;
               break;
            case '-': resultat = nmbUn-nmbDeux;
               break;
            case 'x': resultat = nmbUn*nmbDeux;   
               break;
            case '/': resultat = nmbUn/nmbDeux;   
               break;
            default: System.out.println("erreur de saisie dans le choix de l'opération");
         }
      //while (operation != f)
      //{
      System.out.println(resultat);
      
      //}
   }

}
Avatar de l'utilisateur
Titom79
Expert(e)
Expert(e)
 
Messages: 977
Inscription: 06 Aoû 2007 17:44
 

Re: JAVA - Problème charAt()

Message le 24 Mar 2010 17:40

D'accord, le problème vient du fait que tu utilises deux fois le scanner, donc en fait il faut en créer un nouveau pour pouvoir faire ta saisie de caractère.

Autre problème, ton do... while sur la variable opération était une boucle infinie, j'ai modifié la condition pour que ça fonctionne.

Voilà le code corrigé :

Code: Tout sélectionner

import java.util.*;
import java.util.Scanner;

public class Demande {

   /**
    * @param args
    */
   public static void main(String[] args) {
     
      double resultat = 0;
      double nmbUn = 1;
      double nmbDeux;
      String choix = new String ();
      int numero = 0;
      char operation;
      Scanner sc = new Scanner (System.in);
     
     
      System.out.println("Tapez votre nombre numéro \n" + numero);
      nmbUn = sc.nextDouble();
      numero ++;
     
      do {
         System.out.println("Selectionner l'opération à effectuer : \n x --> Multiplication \n / --> division \n + --> addition \n - --> soustraction \n");
//création d'une nouvelle instance de Scanner, c'est plus simple
   Scanner sc2 = new Scanner (System.in);
         choix = sc2.nextLine();
         operation = choix.charAt(0);
//modification de la condition de sortie du do while
      } while ((operation != '+') && (operation != '-') && (operation != 'x')&& (operation != '/'));

      System.out.println("Tapez votre nombre numéro " + numero + "\n");
      nmbDeux = sc.nextDouble();
      numero ++;
   
         switch (operation)
         {
            case '+': resultat = nmbUn+nmbDeux;
               break;
            case '-': resultat = nmbUn-nmbDeux;
               break;
            case 'x': resultat = nmbUn*nmbDeux;   
               break;
            case '/': resultat = nmbUn/nmbDeux;   
               break;
            default: System.out.println("erreur de saisie dans le choix de l'opération");
         }
      //while (operation != f)
      //{
      System.out.println(resultat);
     
      //}
   }

}
Avatar de l'utilisateur
H3bus
Moderateur
Moderateur
 
Messages: 12195
Inscription: 08 Avr 2008 15:13
Localisation: /home/h3bus
 

Re: JAVA - Problème charAt()

Message le 24 Mar 2010 19:14

Ha oui effectivement pour la boucle infinie !
J'ai toujours un problème avec les et / ou pourtant c'est bidon, je doit pas réfléchir assez !

C'est un peu nul que je ne puisse pas réutiliser le même scanner, ça utilise de la ram (oui j'apprends, mais autant commencé en essayant d'apprendre à optimiser ses programmes).

Il n'y a pas un moyen de réutiliser le même objet ? genre en le vidant nan ?

Merci de ton aide ! je vais testé ça (demain je pense) !

edit : pourquoi tu importe :
Code: Tout sélectionner
import java.util.*;


Merci encore
Avatar de l'utilisateur
Titom79
Expert(e)
Expert(e)
 
Messages: 977
Inscription: 06 Aoû 2007 17:44
 

Re: JAVA - Problème charAt()

Message le 24 Mar 2010 19:22

Euuh, c'est une erreur de ma part en fait, il suffit d'importer java.util.Scanner, avec la ligne java.util.*, j'importe tout les paquets contenus dans java/util, ce qui n'est pas franchement optimisé, donc à ne pas trop faire en temps normal...
Avatar de l'utilisateur
H3bus
Moderateur
Moderateur
 
Messages: 12195
Inscription: 08 Avr 2008 15:13
Localisation: /home/h3bus
 

Re: JAVA - Problème charAt()

Message le 24 Mar 2010 19:26

Et pour l'objet Scanner, pas possibilité de réutiliser le même ?
Avatar de l'utilisateur
Titom79
Expert(e)
Expert(e)
 
Messages: 977
Inscription: 06 Aoû 2007 17:44
 

Re: JAVA - Problème charAt()

Message le 25 Mar 2010 09:18

Problème résolu !

Merci à toi H3bus.

je mets le post en résolu tout de suite !

edit : En plus j'ais finis ma calculette, qui marche du feu de dieu !
Avatar de l'utilisateur
Titom79
Expert(e)
Expert(e)
 
Messages: 977
Inscription: 06 Aoû 2007 17:44
 

Re: [RESOLU] JAVA - Problème charAt()

Message le 25 Mar 2010 13:46

System.out.println("Pas de problème ! :wink:")
Avatar de l'utilisateur
H3bus
Moderateur
Moderateur
 
Messages: 12195
Inscription: 08 Avr 2008 15:13
Localisation: /home/h3bus
 

Re: [RESOLU] JAVA - Problème charAt()

Message le 25 Mar 2010 14:30

H3bus a écrit:System.out.println("Pas de problème ! :wink:")


System.out.println("Pas de problème ! :wink:"); <----- le point virgule !!! :D :lol:
Avatar de l'utilisateur
Titom79
Expert(e)
Expert(e)
 
Messages: 977
Inscription: 06 Aoû 2007 17:44
 

Re: [RESOLU] JAVA - Problème charAt()

Message le 25 Mar 2010 14:43

Argh, l'erreur de débutant ! Je suis démasqué ! :lol:
Avatar de l'utilisateur
H3bus
Moderateur
Moderateur
 
Messages: 12195
Inscription: 08 Avr 2008 15:13
Localisation: /home/h3bus
 



Sujets similaires

Message probleme avec mon compte outlook
Salut tout le mondevoilà, je m'explique en espérant que je sois compréhensible : de façon aléatoire et pas systématique, mais c'est récurrent, il ne se passe pas 15 jours, je recoit arriver sur mon bureau après démarrage de mon pc ou parfois même pc allumer et fonctionnel pendant la journée un m ...
Réponses: 8

Message [Réglé] probleme USB
Bonjour a tous,Je ne sais ou poster mon problème d'USB je le post donc ici . Mon souci vient du fait que lorsque je branche mon intercom SENA SRL 3 sur les USB mon PC sous W10 j'ai l'impression que celui-ci se connecte deux fois car j'entends bien le son de la connexion se faire deux fois et j'ent ...
Réponses: 5

Message [Résolu] comment utiliser opera
Bonjour J'ai installé opera, je n'arrive pas à le mettre en français ? Il y a aussi la page d'accueil qui me gêne, pleine de petites fenêtres qui ne m'intéressèrent pas. Merci
Réponses: 17

Message Problème avec la KB5034441
Bonjour,Certains ont du rencontrer ce problème avec cette mise à jour qui a bien du mal à passer.Je viens de recevoir ce correctif proposé par Microsoft :ICI.Je vous le dit de suite personnellement si j'étais dans le même cas que vous j'attendrai une réelle mise à jour mise en place par Microsoft.Je ...
Réponses: 12

Message encore un probleme mise à jour windows KB5001716
Salut à vous cela commence, j'avoue, à devenir pénible, j'en suis désolé, mais ce soir au 5 mars 2024 est apparu un nouveau problème sur Windows update la mise à jour KB5001716 ne veut pas s'installer, j'ai eu beau redémarrer mon pc pour voir si cela pouvait fonctionner rien à faire cette mise à jou ...
Réponses: 28

Message [Réglé] problème de barre inexistante sur pc portable asus
Bonjour,Depuis hier, en allumant mon pc portable asus modèle F 402 S, il bloque sur le bureau, je n'ai plus la barre de tâches donc les icônes à côté de l'heure comme avant et la souris fait un rond et impossible de cliquer et d'ouvrir des fichiers ou d'aller sur internet c'est bizarre, est-ce une ...
Réponses: 9


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


.: Nous contacter :: Flux RSS :: Données personnelles :.