IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

problème avec nextChar


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Par défaut problème avec nextChar
    j'ai écrit ce programme mais
    en compilant j'ai erreur suivant

    Exception in thread "main" java.lang.Error: Unresolved compilation problem:
    The method nextChar() is undefined for the type Scanner

    aidez moi s'il vous plaît
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    package Textprg;
    import java.util.Scanner;
    public class Calculteur 
    {
    	public static void main (String[] args)
    	{
    		double firstnb;
    		double secondnb;
    		char operator;
    		double value;
    		System.out.println("Entrez expressions suc as 2+2 or 34.2*7.81");
    		System.out.println("To end ,enter a 0");
     
    		while(true)
    		{
    		System.out.println("Entrez votre premier Nb:");
    		Scanner sc=new Scanner(System.in);
    		firstnb=sc.nextInt();
    		if(firstnb==0)
    			break;
    		System.out.println("operator");
    		Scanner sc1=new Scanner(System.in);
    		operator=sc1.nextChar();
    		System.out.println("Entrez second Nb");
    		Scanner sc2=new Scanner(System.in);
    		secondnb=sc2.nextInt();
     
    		switch(operator)
    		{
    		case'+':
    			value=firstnb+secondnb;
    			break;
    		case'-':
    			value=firstnb-secondnb;
    			break;
    		case'*':
    			value=firstnb*secondnb;
    			break;
    		case'/':
    			value=firstnb/secondnb;
    			break;
    		default:
    			System.out.println("operator inconnue"+operator);
    		continue;
    		}
    		System.out.println("vlaue is "+value);
     
    	}
          System.out.println("Good Bye");
    }
    }

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Un Scanner c'est pas franchement prévu pour lire des char.

    À la rigueur, ce que tu peux faire, c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    String next = next();
    if(next.length() != 1) {
      throw new InputMismatchException("Token is not exactly 1 character");
    }
    char nextChar = next.charAt(0);
    Edit : moi aussi j'avais inventé une méthode . C'est next(), pas nextString().
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    bonjour,

    si tu inventes des méthodes c'est normal que tu es des erreurs de compilation.

    nextChar() n'existe pas sur la classe scanner !
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Par défaut
    ça y est j'ai corrigé mon programme,merci beaucoup

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    package Textprg;
    import java.util.Scanner;
    public class Calculteur 
    {
    	public static void main (String[] args)
    	{
    		double firstnb;
    		double secondnb;
    		String operator;
    		double value;
    		System.out.println("Entrez expressions suc as 2+2 
                                                  or 34.2*7.81");
    		System.out.println("To end ,enter a 0");
     
    		while(true)
    		{
    		System.out.println("Entrez votre premier Nb:");
    		Scanner sc=new Scanner(System.in);
    		firstnb=sc.nextInt();
    		if(firstnb==0)
    			break;
     
    		System.out.println("operator");
    		Scanner sc1=new Scanner(System.in);
    		operator=sc1.nextLine();
     
    		System.out.println("Entrez second Nb");
    		Scanner sc2=new Scanner(System.in);
    		secondnb=sc2.nextInt();
     
    		int oper = 4;
    		if (operator.equalsIgnoreCase("+")) oper = 0;
    		 else
    	      if (operator.equalsIgnoreCase("-")) oper = 1;	
    		 else
    		if (operator.equalsIgnoreCase("*")) oper = 2;
    		else
    		if (operator.equalsIgnoreCase("/")) oper = 3;
     
     
    switch(oper)
    {
    case 0:
       value = firstnb + secondnb ;
       break;
    case 1:
    	value = firstnb - secondnb ;
       break;
    case 2:
    	value = firstnb * secondnb ;
       break;
    case 3:
    	value = firstnb / secondnb ;
       break;
    default:
    	System.out.println("Unknown operator: " + operator);
       continue;  
    } 
    System.out.println("Value is " + value);
    System.out.println();              
           } 
            System.out.println("Good bye");
        } 
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo