Java 一个“简单”的分数评级

一个简单的程序  输入分数判断输出“不及格”,“及格”,“良”,“优”,等几个等级,很快就写出来了

复制代码
package score1;
import java.util.Scanner;
public class test {

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个数");
        int a=sc.nextInt();
        getscore(a);
    }

    public static void getscore(int a) {
        if(a>=0&&a<60) {System.out.println("不及格");}
        if(a>=60&&a<80) {System.out.println("及格");}
        if(a>=80&&a<90) {System.out.println("良");}
        if(a>=90&&a<=100) {System.out.println("优");}
        
        
    }
    

}
复制代码

运行后就是这样

 

但是如果一旦输入的不是数字或者不是分数就会报错或是没有反应

 全是数字便没有任何函数进行,

 

 

 

 

输入非int型的值便会直接报错。显然这种方式对于不知道程序内容的人来说很容易出现报错的情况,将报错的情况减到最小才是最难的

复制代码
package score;
import java.util.Scanner;
public class Ka {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        while(true) {
       System.out.println("请输入一个整数: ");
       String a=sc.next();
       if(test01(a)) {
           
           System.out.println("输入错误");
           }
       else test02(a);
       
    }
    }

    public static void test02(String a) {
        int x=Integer.parseInt(a);
        if(x>=0&&x<60)System.out.println("不及格");
        if(x>=60&&x<80)System.out.println("及格");
        if(x>=80&&x<90)System.out.println("良");
        if(x>=90&&x<=100)System.out.println("优");    
    }

    public static boolean test01(String a) {
         if(a.equals("100")) {
             System.out.println("这是100");
             return false;}
         if(a.length()>2) {return true;} 
         if(a.length()==1) {
             if(panduan(a.charAt(0))) {return true;}
         }
         if(a.length()==2) {
             if(panduan(a.charAt(0))||panduan(a.charAt(1))) {return true;}
         }
         return false;
    }

    public static boolean panduan(char a) {
        if((a>32&&a<47)||(a>58&&a<126))
        return true;
        else return false;
    }
        
}
复制代码

 

 这个就是改良后的代码,当遇到不符合分数范围的值输出“输入错误”,所以输入的值类型为String 型

posted @   Rebz  阅读(218)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
点击右上角即可分享
微信分享提示