2016-12-08 6 views
0

Это программа проверки класса, в которой пользователь должен ввести оценку 0-100, и он говорит, какой класс они получили. Я смотрел в другое место, но ничего не могу найти.Я новичок в Java - незаконный запуск выражения и '(' и ')' ожидается

Заранее спасибо

import java.util.*; 

public class grading{ 
    public static void main(String[] args){ 
    Scanner scan = new Scanner(System.in); 
    System.out.println("Please input grade"); 
    int grade = scan.nextInt(); 
    if (grade > 100){ 
     System.out.println("Sorry please put a number between 0-100"); 
    } 
    else if (grade > 90){ 
     grade = "A"; 
     System.out.println("This student recieved " + grade " for his/her grade"); 
    } 
    else if (grade > 75){ 
     grade = "B"; 
     System.out.println("This student recieved " + grade " for his/her grade"); 
    } 
    else if (grade > 49){ 
     grade = "C"; 
     System.out.println("This student recieved " + grade " for his/her grade"); 
    } 
    else{ 
     grade = "F"; 
     System.out.println("This student recieved " + grade " for his/her grade"); 
    } 

    } 

} 
+7

Вы упускаете '+' 'после grade' в выражениях конкатенации строк вы» re проходящий 'println'. –

+1

Сторона примечания: «Получено» (e, затем i). Кроме того, в Java подавляющее соглашение состоит в том, чтобы использовать имена классов, например, 'Grading', а не' grading'. В общем, они также должны быть существительными. –

+0

Вы разрешаете пользователю вводить отрицательные значения, но ваше сообщение запрашивает значения от 0 до 100. – TDG

ответ

3

В каждом из ваших println заявления, вы упускаете оператор + конкатенации между grade и заключительной частью строки.

Вы также используете grade для двух разных вещей: целочисленный ввод пользователем и строку, используемую в конкатенации.

Последнее, вероятно, должен быть отдельным переменным, как:

int grade = scan.nextInt(); 
String strGrade; 

: 

else if (grade > 90){ 
    strGrade = "A"; 
    System.out.println("This student received " + strGrade + " for his/her grade"); 
} 

Кроме того, для полноты при вводе в целое число, вероятно, вы должны сделать первые негативы проверка ручки, а также:

if ((grade < 0) || (grade > 100)) { 
    System.out.println("Sorry please put a number between 0-100"); 
} 

Кроме того, вы можете реорганизовывать дубликат кода в каждом блоке условий, делая для более читаемой программы:

import java.util.*; 

public class Grading { 
    public static void main(String[] args) { 
    // Get the grade. 

    Scanner scan = new Scanner(System.in); 
    System.out.println("Please input grade"); 
    int grade = scan.nextInt(); 

    // Validate grade. 

    if ((grade < 0) || (grade > 100)) { 
     System.out.println("Sorry please put a number between 0-100"); 
    } else { 
     // If valid, default to F, upgrade based on grade. 

     String strGrade = "F"; 
     if  (grade > 90) strGrade = "A"; 
     else if (grade > 75) strGrade = "B"; 
     else if (grade > 49) strGrade = "C"; 

     // Output the results. 

     System.out.println("This student received " + strGrade + " for his/her grade"); 
    } 
    } 
} 
0
import java.util.*; 

public class grading{ 

public static void main(String[] args){ 

Scanner scan = new Scanner(System.in); 
System.out.println("Please input grade"); 
int grade = scan.nextInt(); 
String gradeLevel = ""; 

if (grade > 100){ 
    System.out.println("Sorry please put a number between 0-100"); 
} 
else if (grade > 90){ 
    gradeLevel = "A"; 
    System.out.println("This student recieved " + gradeLevel + " for his/her grade"); 
} 
else if (grade > 75){ 
    gradeLevel = "B"; 
    System.out.println("This student recieved " + gradeLevel + " for his/her grade"); 
} 
else if (grade > 49){ 
    gradeLevel = "C"; 
    System.out.println("This student recieved " + gradeLevel + " for his/her grade"); 
} 
else{ 
    gradeLevel = "F"; 
    System.out.println("This student recieved " + gradeLevel + " for his/her grade"); 
} 

}

}

0

Между строк, необходимых + для них, чтобы быть подключен

Смежные вопросы