Pb avec TextIOb [Résolu]

Signaler
Messages postés
327
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 mai 2012
-
cs_domxaline
Messages postés
327
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 mai 2012
-
bonjour
package Textprg;
import java.util.Scanner;
public class Greeting 
{
public static void main(String[] args)
    {
        String userName;
        String upperCaseName;
        TextIO.put("Please enter your name");
        userName=TextIO.getInt();
        upperCaseName=userName.toUpperCase();
        TextInt.putIn("Hello"+upperCaseName+"nice to meet you!");               
    }
}

en compilant ce prg j'ai erreur suivant:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Type mismatch: cannot convert from int to String
TextInt cannot be resolved

at Textprg.Greeting.main(Greeting.java:10)
A voir également:

13 réponses

Messages postés
699
Date d'inscription
mercredi 19 février 2003
Statut
Membre
Dernière intervention
13 mai 2011
16
Voir post précédent, dernier paragraphe...

L'erreur est explicite : "TextIn cannot be resolved" puis TextIn est souligné comme tu le dis.
Es-tu sur que l'objet que tu veux utiliser s'appelle TextIn ?

Fanny
Messages postés
327
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 mai 2012

pour TextIO
voir le site suivante
http://www.faqs.org/docs/javap/source/TextIO.java
Messages postés
699
Date d'inscription
mercredi 19 février 2003
Statut
Membre
Dernière intervention
13 mai 2011
16
Salut,

Int = nombre
"Enter your name" = Texte

getInt() n'est pas la méthode appropriée pour récupérer du texte, d'où l'erreur de Type mismatch.

Fanny
Messages postés
327
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 mai 2012

getString marche pas
Messages postés
699
Date d'inscription
mercredi 19 février 2003
Statut
Membre
Dernière intervention
13 mai 2011
16
Oui logique, ce n'est pas dans le document que tu as toi même linké.
En cherchant dans ce lien il y a par exemple ça, as-tu testé ?

// Methods for reading in the primitive types, plus "words" and "lines".
// (getlnString is the same as getln and is onlyprovided for consistency.)
   public static String getlnString()   { return getln(); }  // same as getln()
   public static String getln() {
      StringBuffer s = new StringBuffer(100);
      char ch = readChar();
      while (ch != '\n') {
         s.append(ch);
         ch = readChar();
      }
      return s.toString();
   }


Fanny
Messages postés
327
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 mai 2012

tu veux dire que j'insers ce prg
dans le TextIO
Messages postés
327
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 mai 2012

je vois ce prg déjà dans le TextIO
quel est solution pour corriger mon prg
Messages postés
699
Date d'inscription
mercredi 19 février 2003
Statut
Membre
Dernière intervention
13 mai 2011
16
Oui ces méthodes sont des méthodes de TextIO ... tout comme getInt().

Si getInt() ne fonctionne pas car c'est une méthode qui récupère un nombre alors que tu cherches à passer du texte... il faut remplacer cette méthode par une méthode qui accepte du texte.

La solution pour corriger ton programme est d'utiliser l'une de ces 2 méthodes à la place de getInt() (getlnString() étant la même chose que getln(), peu importe laquelle tu utilises).

Fanny
Messages postés
327
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 mai 2012

tu veux que j'écris ainsi
public static String getlnString()   { return getln(); }  // same as getln()
   public static String getln() {
      StringBuffer s = new StringBuffer(100);
      char ch = readChar();
      while (ch != '\n') {
         s.append(ch);
         ch = readChar();
      }
      return s.toString();
   }

public static String getlntString()   { return getlnt(); }  // same as getln()
   public static String getlnt() {
      StringBuffer s = new StringBuffer(100);
      char ch = readChar();
      while (ch != '\n') {
         s.append(ch);
         ch = readChar();
      }
      return s.toString();
   }


Messages postés
699
Date d'inscription
mercredi 19 février 2003
Statut
Membre
Dernière intervention
13 mai 2011
16
Non, ces méthodes sont des méthodes existantes dans TextIO (qui est la classe que tu utilises).
Elles sont très bien où elles sont.

Tu as une erreur dans TON programme, à cause de la méthode getInt() (comme déjà dit plus haut).
Type mismatch veut dire qu'un objet attendu par une méthode est différent de celui qui lui est passé. Dans ton cas :
getInt() = number
getln() (ou getlnString()) = texte

Tu veux récupérer un nom, c'est à dire du texte, donc au lieu d'utiliser getInt(), il faut utiliser getln() ou getlnString().
Peu importe laquelle, car getlnString() retourne getln(), donc getlnString() = getln() (tu choisis celle que tu veux utiliser à la place de getInt()).

Par ailleurs, l'autre erreur de compilation est aussi parlante que celle ci, "TextInt cannot be resolved", TextInt n'existe pas, je pense que tu voulais écrire TextIO.


Fanny
Messages postés
327
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 mai 2012

package Textprg;
import java.util.Scanner;
public class Greeting 
{
public static void main(String[] args)
    {
        String userName;
        String upperCaseName;
        TextIO.put("Please enter your name");
        userName=TextIO.getIn();
        upperCaseName=userName.toUpperCase();
        TextIn.putInInt("Hello"+upperCaseName+"nice to meet you!");              
       /*String upperCaseName;
       System.out.println("Entre votre nom");
       Scanner sc=new Scanner(System.in);
       String name=sc.nextLine();
       upperCaseName=name.toUpperCase();
       System.out.println(" Bonjour "+upperCaseName+" Nice to meet you!");*/      
    }
}

en compilant j'ai erreur suivante:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
TextIn cannot be resolved

at Textprg.Greeting.main(Greeting.java:12)

TextIn est souligné
Messages postés
327
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 mai 2012

merci beaucoup, j'ai corrigé mon erreur
mon programme marche bien
Messages postés
327
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
10 mai 2012

le prg doit être corrigé ainis
package Textprg;
import java.util.Scanner;
public class Greeting 
{
public static void main(String[] args)
    {
        String userName;
        String upperCaseName;
        TextIO.put("Please enter your name");
        userName=TextIO.getIn();
        upperCaseName=userName.toUpperCase();
        TextIO.putln("Hello"+upperCaseName+"nice to meet you!");              
       
       
    }

}