美文网首页
java字符串是否是全为数字的判断

java字符串是否是全为数字的判断

作者: 谭二皮 | 来源:发表于2018-08-15 18:45 被阅读0次

    明明是一个很简单的程序,但是却卡了我几个小时,果然不好好学习的后果就是这样。

    偏偏旁边就是很有好感的小姐姐,她在看内存运行机制,而我还在学习方法的使用。

    不好意思去问别人,不想让她知道我是菜鸡,虽然总有一天她会知道。

    但是在她知道之前我一定要追赶到与她差不多才行。


    程序的本体是,输入成绩,根据成绩评定等级。

    但是如果用Scanner的nextInt,在控制台输入字符时,程序会崩溃,于是想办法判断输入的是否是数字,然后再进行评定。

    程序如下:

    package com.test.demo;

    import java.util.Scanner;

    public class TestOne {

        public static void main(String[] args) {    

            Scanner s =new Scanner(System.in);

            String str =null;//把str定义为全局变量,这样while循环结束后也可以使用

            System.out.println("成绩评定:");

            //第一次死循环用于保证成绩评级一直运行

                while(true){

                boolean cflag =true;//用于是否瑞出第二次死循环

                while(cflag){//利用死循环判断输入的字符是否正确

                int count = 0;//如果count=str.length,表名每个字符都是数字,于是可以退出

                System.out.println("请输入成绩:");

                    str = s.nextLine();//从控制台获取字符串

                char[] chs = str.toCharArray();//将字符串转为字符数组

                for(int i = 0;i<chs.length;i++){

                        //聪明方法是:if(str.matches(reqex:"[0-9]*"))

                    if(!(chs[i]>='0'&&chs[i]<='9')){

                            System.out.println("输入的格式有误,请重新输入:");

                            break;

                        }

                        count++;

                    }

                    if(count==str.length()){//全是数字了cflag =false;

                    }

                }

                Integer grade = Integer.parseInt(str);//把字符串转换为整型            

                System.out.println(grade);

                if(grade>95&&grade<=100) System.out.println("太棒了,您的成绩为:优秀");

                else if(grade>70&&grade<=95) System.out.println("太棒了,您的成绩为:中等");

                else if(grade>60&&grade<=70) System.out.println("太棒了,您的成绩为:合格");

                else if(grade<=60&&grade>40) System.out.println("您的成绩不及格!");

                else if(grade<=40&&grade>=0) System.out.println("抱歉你还是重新学习吧!");

                else{

                    System.out.println("输入的成绩不和法,请重新输入:");

                    continue;

                }

                System.out.println("您是否想要退出?Y/N");

                Scanner ys =new Scanner(System.in);

                String ex = ys.nextLine().toUpperCase();//把字符串转为大写

                if(ex.equals("Y")){

                    System.out.println("好的,退出成功!");

                    break;

                }

                else{

                    continue;

                }

            }

        }

    }


    现在还不知道简书里应该怎么内嵌代码,于是这段代码很乱。

    放一个我博客园的链接吧,里面的排版就很舒服:

    https://www.cnblogs.com/bkytep/p/9483277.html

    相关文章

      网友评论

          本文标题:java字符串是否是全为数字的判断

          本文链接:https://www.haomeiwen.com/subject/danwbftx.html