Forum Clubic

Pourquoi cette erreur ? un oublie de mla part?

Salut la room,
j’ai un soucis avec ce porgramme mais je ne vois pas lequel …
Le message d’erreur ci dessous m’indique que c’est au niveau de la méthode printf mais je n’arrive pas a trouver l’erreur proprement dite ? :s
help plizz

[b]Exception in thread “main” java.lang.Error: Problèmes de compilation non résolus :
La méthode printf(String, Object[]) du type Console ne s’applique pas aux arguments (String)
La méthode printf(String, Object[]) du type Console ne s’applique pas aux arguments (String)
La méthode printf(String, Object[]) du type Console ne s’applique pas aux arguments (String)
La méthode printf(String, Object[]) du type Console ne s’applique pas aux arguments (String)
La méthode printf(String, Object[]) du type Console ne s’applique pas aux arguments (String, int)
La méthode printf(String, Object[]) du type Console ne s’applique pas aux arguments (String, String)

at CEntreeClavier.main(CEntreeClavier.java:8)[/b]
import java.util.*;
import java.io.*;

public class CEntreeClavier_Scanner {
    
   public static void main(String[] args) {
      Console cons = System.console();
      Scanner sc = new Scanner(System.console().reader());      
      cons.printf("\n");

      try {      
        cons.printf(" Entrez votre nom de famille :  ");
        String nom = sc.nextLine();

        cons.printf(" Entrez votre âge            : ");
        int âge = sc.nextInt();

        cons.printf("\n");
        cons.printf(" %d ans?", âge);
        cons.printf(" Vous êtes sûr de ne pas vous rajeunir"
                  + " un peu, monsieur ou madame %s?\n", nom);
      }
      catch (InputMismatchException e) {
        System.err.println("\n Erreur ! \n" + 
                           " Le nombre entre ne peut etre lu.");
      }
   }    
}

Pourquoi as tu fais un double topic ? un oubli de tla part ?
Edité le 27/10/2007 à 21:10

pas fait expres c pour ca que j’ai demander de le close

Venant juste d’installer Eclipse et n’ayant pas le dernier jdk, j’ai adapté et ça passe :


PrintStream cons = System.out;
		Scanner sc = new Scanner(System.in);
		
		cons.printf("\n");  
		try 
		{   
			cons.printf(" Entrez votre nom de famille : ");  
			String nom = sc.nextLine();  
			cons.printf(" Entrez votre âge : ");  
			int âge = sc.nextInt();  cons.printf("\n");  
			cons.printf(" %d ans?", âge);  
			cons.printf(" Vous êtes sûr de ne pas vous rajeunir"  + " un peu, monsieur ou madame %s?\n", nom);  
		}  catch (InputMismatchException e) 
		{  
			System.err.println("\n Erreur ! \n" +   " Le nombre entre ne peut etre lu.");  
		}

Bonjour,
on dirais que tu ne compile pas en Java5:il ne connait pas les varargs (i.e. conversion d’un nombre variable d’arguments en Object[]) )
Regarder les options de compilation du projet et d’éclipse:

dans Java compiler: “Compiler Compliance Level” il faut 1.5 et pas 1.4.
Regarder aussi si les jre sont des 1.5, mais je ne pense pas que ça vienne de là.