2017-05-13 3 views
-2

이 코드는 숫자 0-100을 넣었을 때와 그 범위를 벗어나는 경우 작동합니다. 편지 나 단어 같은 것을 받아들이게하고 0에서 100 사이의 점수를 입력하십시오.Java에서 오류 처리를 사용하는 방법

import java.util.Scanner; 
public class LetterGrade { 
    public static void main(String[] args) { 
    Scanner grades = new Scanner(System.in); 
    int grade = 0; 
    String LetterGrade = ""; 
    System.out.print("Enter your test grades: "); 
    grade = grades.nextInt(); 

    if (grade > 100 || grade < 0) { 
     System.out.println("Enter the percentage from 0 - 100"); 
} 

while (grade > 100 || grade < 0) { 

    System.out.print("Enter your test grades: "); 
    grade = grades.nextInt(); 
    if (grade > 100 || grade < 0) { 
     System.out.println("Enter the precentage from 0 - 100"); 
    } 
} 
//Define the number Grade to equal a Letter 
if (grade <= 100 && grade >= 97) 
    LetterGrade = "A+"; 
if (grade <= 96 && grade >= 93) 
    LetterGrade = "A"; 
if (grade <= 92 && grade >= 90) 
    LetterGrade = "A-"; 
if (grade <= 89 && grade >= 87) 
    LetterGrade = "B+"; 
if (grade <= 86 && grade >= 83) 
    LetterGrade = "B"; 
if (grade <= 82 && grade >= 80) 
    LetterGrade = "B-"; 
if (grade <= 77 && grade >= 74) 
    LetterGrade = "C+"; 
if (grade <= 73 && grade >= 73) 
    LetterGrade = "C"; 
if (grade <= 72 && grade >= 70) 
    LetterGrade = "C-"; 
if (grade <= 69 && grade >= 67) 
    LetterGrade = "D+"; 
if (grade <= 66 && grade >= 65) 
    LetterGrade = "D"; 
if (grade <= 64 && grade >= 60) 
    LetterGrade = "D-"; 
if (grade <= 59 && grade >= 0) 
    LetterGrade = "F"; 

System.out.println("Your test grade of " + grade + " is a letter grade of " + LetterGrade); 

} 

}

답변

0

이 문자열에 다음과 같이 때마다 점수를 스캔 : 내 코드는 지금

String grade; 
grade = grades.next(); 

정수로 변환하려고를, 당신은 예외를 얻을 경우, 오류 메시지를 표시, 그렇지 않으면 다음과 같이 입력을 수락합니다.

try{ 
    int grd = Integer.parseInt(grade); 
    if (grd > 100 || grd < 0) { 
     System.out.println("Enter the percentage from 0 - 100"); 
    } 
} 
catch(Exception e){ 
    System.out.println("Enter numbers only."); 
} 
관련 문제