2016-11-09 2 views
0

В настоящее время я создаю простой калькулятор классов, однако я хочу, чтобы консоль не продолжала следующую строку, когда пользователь не вводил число от 0 до 20. Даже если пользователь вводит неправильную следующую строку, казнены. Также не стесняйтесь предлагать способы упрощения моей программы.Как завершить консоль, если пользователь вводит целое число, не соответствующее моему состоянию?

import java.util.Scanner; 

public class Calculator { 
public static void main(String[] args) { 
    Scanner scanner = new Scanner(System.in); 

    System.out.println("Enter grade for Exam 1:>"); 
    int exam1 = scanner.nextShort(); 
    while (exam1 > 20 || exam1 < 0) { 
    System.out.println("Error! Not within mark range!"); 
    break; 
    } 

    System.out.println("Enter grade for Exam 2:>"); 
    int exam2 = scanner.nextShort(); 
    while (exam2 > 20 || exam2 < 0) { 
    System.out.println("Error! Not within mark range!"); 
    break; 
    } 

    System.out.println("Enter grade for Exam 3:>"); 
    int exam3 = scanner.nextShort(); 
    while (exam3 > 20 || exam3 < 0) { 
    System.out.println("Error! Not within mark range!"); 
    break; 
    } 

    System.out.println("Enter grade for Exam 4:>"); 
    int exam4 = scanner.nextShort(); 
    while (exam4 > 20 || exam4 < 0) { 
    System.out.println("Error! Not within mark range!"); 
    break; 
    } 

    int average = exam1 + exam2 + exam3 + exam4; 
    average /= 4; 
    System.out.println("You average grade is: " + average + "\n"); 

    average *= 5; 

    System.out.println("Your score is" + average + "%!\n"); 

    if (average > 70) { 
    System.out.println("You get an A overall"); 
    } else if (average > 60 || average <= 70) { 
    System.out.println("You get a B overall"); 
    } else if (average > 40 || average <= 60) { 
    System.out.println("You get a C overall"); 
    } else { 
    System.out.println("You have failed the module!"); 
    } 


} 
} 
+0

Прочитайте документацию: https://docs.oracle.com/javase/7/docs/api/java/lang/System.html#exit(int) – rafid059

+0

Возможно, [это] (http://stackoverflow.com/a/3059367/5394855) поможет. –

ответ

3
System.exit(0); 

Это, вероятно, что вы ищете, вместо break заявлений.

1

Заменить break заявления в коде с System.exit(0)

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