Pb avec TextIOb

Résolu
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 - 1 juil. 2010 à 21:12
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 - 1 juil. 2010 à 23:54
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)

13 réponses

HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
1 juil. 2010 à 22:56
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
3
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
1 juil. 2010 à 21:23
pour TextIO
voir le site suivante
http://www.faqs.org/docs/javap/source/TextIO.java
0
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
1 juil. 2010 à 21:23
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
0
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
1 juil. 2010 à 21:26
getString marche pas
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
1 juil. 2010 à 21:34
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
0
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
1 juil. 2010 à 21:51
tu veux dire que j'insers ce prg
dans le TextIO
0
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
1 juil. 2010 à 22:11
je vois ce prg déjà dans le TextIO
quel est solution pour corriger mon prg
0
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
1 juil. 2010 à 22: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
0
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
1 juil. 2010 à 22:31
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();
   }


0
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
1 juil. 2010 à 22:38
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
0
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
1 juil. 2010 à 22:46
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é
0
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
1 juil. 2010 à 22:56
merci beaucoup, j'ai corrigé mon erreur
mon programme marche bien
0
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
1 juil. 2010 à 23:54
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!");              
       
       
    }

}

0
Rejoignez-nous