Il y a actuellement 90 visiteurs
Vendredi 18 Avril 2025
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 [Réglé] problème connexion internet sous linux mint 20.03
Bonjour,Pourriez-vous m'aider à résoudre le problème suivant : Sur un pc de bureau ACER Aspire M 5910, il y a Linux Mint 20.03 qui est installé mais le souci est au niveau de la connexion internet Ethernet qui ne fonctionne plus alors que le voyant du port Ethernet est bien allumé mais impossible d ...
Réponses: 8

Message [réglé] Probleme carte ethernet
Bonjour a tous,Depuis hier je rencontre un problème avec ma carte ethernet. Mon PC m'informe que celui-ci n'est pas connecté a internet (icône de la barre des taches). Par contre j'ai internet par le biais de mon VPN. Avez vous une petite idée ? Par avance merci
Réponses: 35

Message probleme affichage ecran
salut tout le monde Je suis sur windows 11 depuis environ janvier 2025 : ma dernière Édition : Windows 11 Professionnel Version 24H2 (build du système d'exploitation 26100.3323 )Installé le ?01/?03/?2025Build du système d?exploitation 26100.3323Expérience Pack d?expérience de fonctionnalités Windo ...
Réponses: 10

Message [Résolu] Demarrage W10
Bonjour à tous,Depuis peu, mon PC démarre en affichant les documents stockés sur mon DD externe autrement que sur mon bureau. Seriez vous m'expliquer comment y remédier s'il vous plait ? Merci par avance A bientot
Réponses: 12

Message Problème mise à jour windows 11
Salut à tous, j'ai un souci sur mon ordinateur hp tout en un, à l'époque de la sortie de Win11 j'vavais forcé le passage car mon ordinateur n'avait les prérecquis, tout a toujours bien fonctionner sans problème, sauf depuis peu, je ne peux plus faire de MAJ sur windows update, il y a écrit "Vou ...
Réponses: 8

Message Probleme Meta Facebook pour page pro
Bonjour à tous, est ce quelqu'un ici s'y connait en Meta facebook pour la gestion des pages pro et les liens instagram? Je m'explique en 2021 j'ai créer mon entreprise avec une page Facebook qui était rattaché à mon profil perso ou j'avais la gestion intégrale, puis en 2022 un profil instagram profe ...
Réponses: 2


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 4 invités


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