If I delete the token it suggested I delete then I will have another error "code unreachable"
Here's my code:
public class finalgrade {
public static void main(String[] args)
{
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in); //Input device scanner
double n = 0.0; //counter
double m = 0.0; //counter
double x = 0.0; //counter
double y = 0.0; //counter
double s = 0.0; //counter
double totalgrade;
//input
String first_name; //Holds first name
System.out.print("Enter your first name: ");
first_name = in.next();
String last_name; //Holds last name
System.out.print("Enter your last name: ");
last_name = in.next();
String major; //Holds user's major
System.out.print("Enter your intended major: ");
major = in.next();
String ist; //Holds user's class number
System.out.print("Enter the IST class you are in: ");
ist = in.next();
//Holds user's number grade
System.out.print("Enter one of five grades: ");
n = in.nextDouble();
//Holds user's number grade
System.out.print("Enter another grade: ");
m = in.nextDouble();
//Holds user's number grade
System.out.print ("Enter another grade: ");
x = in.nextDouble();
//Holds user's number grade
System.out.print("Enter another grade: ");
y = in.nextDouble();
//Holds user's number grade
System.out.print("Enter another grade: ");
s = in.nextDouble();
//processes
totalgrade = n + m + x + y + s / 5; //determines the average of grades
int gradePercent = (int)Math.round(totalgrade); //converts double to integer
String grade;
switch (gradePercent/10) //converts integer to string
{
case 6 : grade = "D"; break;
case 7 : grade = "C"; break;
case 8 : grade = "B"; break;
case 9 :grade = "A"; break;
default: grade = "F"; break;
//output
System.out.println("First Name: " + first_name + "Last Name: " + last_name + "Major: " + major + "IST Class: " + ist + "Average Grade: " + totalgrade+ "%" "Letter Grade: " + grade ".");
}
}}
**** Eclipse says remove "Letter Grade: " and ".", but when I remove it, it says unreachable.
Change
int gradePercent = (int)Math.round(totalgrade); //converts double to integer
String grade;
switch (gradePercent/10) //converts integer to string
{
case 6 : grade = "D"; break;
case 7 : grade = "C"; break;
case 8 : grade = "B"; break;
case 9 :grade = "A"; break;
default: grade = "F"; break;
System.out.println("First Name: " + first_name + "Last Name: " + last_name + "Major: " + major + "IST Class: " + ist + "Average Grade: " + totalgrade+ "%" "Letter Grade: " + grade ".");
}
to be
int gradePercent = (int)Math.round(totalgrade); //converts double to integer
String grade;
switch (gradePercent/10) { //converts integer to string
case 6 : grade = "D"; break;
case 7 : grade = "C"; break;
case 8 : grade = "B"; break;
case 9 :grade = "A"; break;
default: grade = "F"; break;
}
System.out.println("First Name: " + first_name + "Last Name: " + last_name + "Major: " + major + "IST Class: " + ist + "Average Grade: " + totalgrade+ "%" + "Letter Grade: " + grade ".");
This fixes the concatenation problem and the code being unreachable because in was inside the switch block.
You forgot to put an + before Letter Grade
And your System Out is inside the switch/case brackets.
//output
}
System.out.println("First Name: " + first_name + "Last Name: " + last_name + "Major: " + major + "IST Class: " + ist + "Average Grade: " + totalgrade+ "%" + "Letter Grade: " + grade ".");
}}
在switch语句中,如果在所有情况(包括默认情况)遇到break语句后编写任何内容,则编译器将抱怨“无法执行的代码”
Please run this code. This runs well (tested in my pc) and i hope it will serve your purpose. Your mistakes were:
closing brace of switch statement was put in wrong place (that's why the SOP statement got into the switch block).
several concatenation mistakes in the SOP statement.
I have mentioned your mistakes in the respective section of the code.
public class finalgrade {
public static void main(String[] args)
{
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in); //Input device scanner
double n = 0.0; //counter
double m = 0.0; //counter
double x = 0.0; //counter
double y = 0.0; //counter
double s = 0.0; //counter
double totalgrade;
//input
String first_name; //Holds first name
System.out.print("Enter your first name: ");
first_name = in.next();
String last_name; //Holds last name
System.out.print("Enter your last name: ");
last_name = in.next();
String major; //Holds user's major
System.out.print("Enter your intended major: ");
major = in.next();
String ist; //Holds user's class number
System.out.print("Enter the IST class you are in: ");
ist = in.next();
//Holds user's number grade
System.out.print("Enter one of five grades: ");
n = in.nextDouble();
//Holds user's number grade
System.out.print("Enter another grade: ");
m = in.nextDouble();
//Holds user's number grade
System.out.print ("Enter another grade: ");
x = in.nextDouble();
//Holds user's number grade
System.out.print("Enter another grade: ");
y = in.nextDouble();
//Holds user's number grade
System.out.print("Enter another grade: ");
s = in.nextDouble();
//processes
totalgrade = n + m + x + y + s / 5; //determines the average of grades
int gradePercent = (int)Math.round(totalgrade); //converts double to integer
String grade;
switch (gradePercent/10) //converts integer to string
{
case 6 : grade = "D"; break;
case 7 : grade = "C"; break;
case 8 : grade = "B"; break;
case 9 :grade = "A"; break;
default: grade = "F"; break;
} //---------switch statement was not closed properly-------------
//output
System.out.println("First Name: " + first_name + "Last Name: " + last_name + "Major: " + major + "IST Class: " + ist + "Average Grade: " + totalgrade + "%" + "Letter Grade: " + grade + ".");
//---------several concatenation problems were in the SOP---------
}}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.