尝试捕获块无法弄清楚捕获java

时间:2016-03-08 21:56:21

标签: try-catch

抱怨格式化。我正在尝试确定成绩是否为成绩,失败或无效成绩。但是我无法弄清楚如何捕获错误。

编辑:70-100或“s”或“S”=通过; 0-69或u或U =重拍;其他一切=无效。

这是我的代码:

 import java.util.*;

 public class Demo
{
 public static void main(String [] args)
   {
     Scanner kb = new Scanner(System.in);
     String total="";
     System.out.println("enter grade");
     total = kb.nextLine();

 System.out.println(evaluateGrade(total));
 }
public static String evaluateGrade(String expr)
 {
String result ="";
boolean invalid = false;
int grade = Integer.parseInt(expr);
try{
  if((grade <100 && grade >=70) || (expr.equalsIgnoreCase("s"))
  {
    result ="pass";
  }
  else if((grade <70 && grade >0)|| expr.equalsIgnoreCase("u"))
  {
    result ="retake";
  }
  else
  {result="invalid";
  }
} catch (Exception e)
{ 

}
return result;
}
  }

1 个答案:

答案 0 :(得分:0)

这是我的代码:

import java.util.*;


class Demo{

public static void main(String [] args){

    Scanner kb = new Scanner(System.in);    
    System.out.println("enter grade");  
    System.out.println(evaluateGrade(kb.next()));
    kb.close(); // You need to ".close" your stuff

}

public static String evaluateGrade(String expr){

    String result ="";
//  boolean invalid = false; <--- This is not necessary

    if(expr.equalsIgnoreCase("s")){
        return "pass";
    }
    if(expr.equalsIgnoreCase("u")){
        return "retake";    
    }
    try{ // Try to get a Integer on "grade"
        Integer grade =  Integer.valueOf(expr);

        if( (grade <= 100 && grade >=70)){ // 70 <= grade <= 100, and you forgot the ')'
            result ="pass";
        }
        else if((grade <70 && grade >=0)){ // 0 <= grade < 70
            result ="retake";
        }
        else{
            result="invalid";
        }       
    }
    catch(NumberFormatException e){ // If "grade" is not a number, then you have this line
        System.err.println("Your grade must be a NUMBER between 0 and 100.");
        return "invalid"; // Return something to keep going with your code
    }
    return result;
}
}

如果您不了解代码的内容,请将其写在纸上。

祝你有个美好的一天!