primeiro Boa Noite,
acho que meu código ta correto se tratando do método “switch”
to errando me parece em alguma formatação como se mostra no console
se puderem me ajudar fico muito grato
…Aqui a subclasse…
import java.util.Scanner;
public class GradeBook
{
private String courseName;
private int total;
private int gradeCounter;
private int aCount;
private int bCount;
private int cCount;
private int dCount;
private int fCount;
public GradeBook( String name )
{
courseName = name;
}
public void setCourseName( String name )
{
courseName = name;
}
public String getCourseName()
{
return courseName;
}
public void displayMessage()
{
System.out.printf( "Welcome to the grade book for\n%s!\n\n",
getCourseName() );
}
public void inputGrades()
{
Scanner input = new Scanner( System.in );
int grade;
System.out.printf( "%s\n%s\n %s\n %s\n",
"Enter the integer grade in the range 0-100.",
"On UNIX/Linux/Mac OS X type <ctrl> d then press Enter",
"On Windows type <ctrl> z then press Enter");
while ( )input.hasNext()
{
grade = input.nextInt();
total += grade;
++gradeCounter;
incrementLetterGradeCounter( grade );
}
}
public void incrementLetterGradeCounter( int grade )
{
switch ( grade / 10 )
{
case 9:
case 10:
++aCount;
break;
case 8:
++bCount;
break;
case 7:
++cCount;
break;
case 6:
++dCount;
break;
default:
++fCount;
break;
}
}
public void displayGradeReport()
{
System.out.println( "\nGrade Report:" );
if ( gradeCounter != 0 )
{
double average = (double) total / gradeCounter;
System.out.printf( "Total of the %d grades entered is %d\n",
gradeCounter, total );
System.out.printf( "Class average is %.2f\n", average );
System.out.printf( "%s\n%s%d\n%s%d\n%s%d\n%s%d\n%s%d\n",
"Number of students who received each grade:",
"A: ", aCount,
"B: ", bCount,
"C: ", cCount,
"D: ", dCount,
"F: ", fCount );
}
else
System.out.println( "No grades were entered" );
}
}
…Aqui a classe Main…
public class GradeBookTest
{
public static void main( String args [] )
{
GradeBook myGradeBook = new GradeBook(
"CS101 Instroduction to Java Programing" );
myGradeBook.displayMessage();
myGradeBook.inputGrades();
myGradeBook.displayGradeReport();
} //fim de main
} //fim da classe GradeBookTest
--------------------------Console--------------------------------------------------------------
C:\Java\Compile>java GradeBookTest
Welcome to the grade book for
CS101 Instroduction to Java Programing!
Enter the integer grade in the range 0-100.
On UNIX/Linux/Mac OS X type d then press Enter
On Windows type z then press Enter
Exception in thread “main” java.util.MissingFormatArgumen
pecifier ‘s’
at java.util.Formatter.format(Formatter.java:2429)
at java.io.PrintStream.format(PrintStream.java:899)
at java.io.PrintStream.printf(PrintStream.java:800)
at GradeBook.inputGrades(GradeBook.java:86)
at GradeBookTest.main(GradeBookTest.java:39)