Esses erros so acontecem comigo? [Especificadores de formato]

[code]/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

/**
*

  • @author Hygor
    */
    import java.util.Scanner;
    public class GradeBook {

private int GradeCounter;
private int total;
private String courseName;
private int aConta;
private int bConta;
private int cConta;
private int dConta;
private int fConta;

public GradeBook(String name){
courseName = name;

}
public void setCourseName(String name){
courseName = name;

}
public String getCourseName(){
return courseName;
}
public void displayMessage(){
System.out.printf(“Bem-Vindo ao GradeBook para\n%s\n\n”);
}
public void entradanotas(){
Scanner input = new Scanner (System.in);
int nota;
System.out.printf("%s\n%s\n %s\n %s\n" , “introduza notas inteiras no intervalo 0 - 100.” ,

“digite o indicador de fim de arquivo para terminar entrada.” , " usando UNIX,LINUX MAC Pressione Ctrl + D e aperte ENTER" ,
“No Windows Pressione CTRL + Z e depois ENTER!”);
while (input.hasNext()){
nota = input.nextInt();
total += nota;
++GradeCounter;
incrementaGradeCounter(nota);

}
}

public void incrementaGradeCounter(int nota){
switch (nota / 10){
case 10: // nota estava entre 90.
case 9: // e 100.
++aConta;
break;
case 8:
++bConta;
break;

       case 7:
           ++cConta;
           break;
       case 6:
           ++dConta;
       default :
           ++fConta;
           break;

   }

}
public void displayrelatnotas(){
System.out.printf("\nRELATORIO DE NOTAS");

   if (GradeCounter != 0){
     double media = (double) total / GradeCounter;
     System.out.printf("Total das notas inseridas eh:%d\n",GradeCounter,total);
  System.out.printf("Media da classe eh:%.2f\n",media);
  System.out.printf("%s\n%s%d\n%s%d\n%s%d\n%s%d\n%s%d\n",
          "numero de alunos que receberam cada nota",
          "A: ",aConta,
          "B:", bConta,
          "C:", cConta,
          "D:", dConta,
          "F:", fConta);
   }
   else
       System.out.printf("\n Nenhuma nota foi digitada ainda");

}

}
[/code] ^
l
to fazendo com que essa classe seja executada por essa

                                                l
                                                V

public class GradeBookTest {
public static void main (String[] args){
    GradeBook meuGradeBook = new GradeBook("CS 101 Java");
    meuGradeBook.displayMessage();
    meuGradeBook.entradanotas();
    meuGradeBook.displayrelatnotas();
}


}

So que quando dou um Shift+F6 no NetBeans pra poder executar é retornado o segunte erro:

run:
Bem-Vindo ao GradeBook para
Exception in thread "main" java.util.MissingFormatArgumentException: Format specifier 's'
        at java.util.Formatter.format(Formatter.java:2431)
        at java.io.PrintStream.format(PrintStream.java:920)


        at java.io.PrintStream.printf(PrintStream.java:821)
        at GradeBook.displayMessage(GradeBook.java:35)
        at GradeBookTest.main(GradeBookTest.java:6)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 3 segundos)

po ja tava dificil estudar sozinho com o livro, agora faz a gente errar… escrevi igualzinho o livro… rrsrsrs (Livro DEITEL,Java Como programar 6ª Edição).

pessoal me ajuda ai com os especificadores de formato… Muito Obrigado pela atenção

Dá a impressão que há um erro no livro. É para haver um parâmetro adicional em printf (de modo geral, você sabe quantos parâmetros o printf precisa contando os “%”. Como há um “%”, então você tem de passar um parâmetro.). Acho que é algo assim:

System.out.printf("Bem-Vindo ao GradeBook para\n%s\n\n", courseName); 

alguém ai sabe como resolver esse problema pra poder executar o programa???

Pois é estou com o mesmo problema e ele persiste em ambiente NetBeans, já com Eclipse funcionou normalmente, e eu testei em duas plataformas Linux Ubuntu 9.04 e Windows, obtive o mesmo resultado, então chego a conclusão que o NetBeans deve ter outra definição para pegar o " Indicador de fim de arquivo " que onde mora o problema, o Eclipse Galileo lê tranquilamente tanto em Linux quanto em windows , mas por fim indentifiquei o problema, no entanto não achei uma solução para o mesmo.

o thingol já te deu a solução:
java.util.MissingFormatArgumentException: Format specifier ‘s’
no comando

System.out.printf("Bem-Vindo ao GradeBook para\n%s\n\n")

você tá especificando que vai existir uma string entre os 2 primeiros “\n” através do %s, mas não está passando nenhuma String como segundo argumento para o printf
ou você remove esse %s ou você adiciona a String que vai aparecer no lugar dele, nesse caso provavelmente courseName:

System.out.printf("Bem-Vindo ao GradeBook para\n%s\n\n", courseName)