zoukankan      html  css  js  c++  java
  • JAVA基础——编程练习(三)

    熟悉String方法的使用之判断文件名是否合法

    学习之余,写个小练习来巩固一下String的方法应用。

    任务:

    1、判断用户选择要输入的内容的类型

    2、如果是java文件,输出“您输入的是java文件名”

    3、如果是邮箱地址,输出“您输入的是邮箱地址”

    4、如果都不是,输出“无法解析您输入的内容”

    代码如下:

     1     public static void main(String[] args) {
     2         Scanner in = new Scanner(System.in);
     3         boolean flag = true;
     4         do {
     5             System.out.println("请您要判断的内容:");
     6             String name = in.next();
     7 
     8             switch (Jude(name)) {
     9             case 1:
    10                 System.out.println("您输入的是java文件名");
    11                 flag = false;
    12                 break;
    13             case 2:
    14                 System.out.println("您输入的是邮箱地址");
    15                 flag = false;
    16                 break;
    17             case -1:
    18                 System.out.println("无法解析您输入的内容,请重新输入!");
    19                 break;
    20             }
    21         } while (flag);
    22         in.close();
    23     }
    24 
    25     /*
    26      * 判断格式
    27      */
    28     private static int Jude(String Name) {
    29 
    30         int count1 = 0;// 字符串中包含.的个数
    31         int count2 = 0;// 字符串中包含@的个数
    32 
    33         for (int i = 0; i < Name.length(); i++) {// 统计个数
    34             if (Name.charAt(i) == '.') {
    35                 count1++;
    36             }
    37             if (Name.charAt(i) == '@') {
    38                 count2++;
    39             }
    40         }
    41         if (count1 == 1 && count2 == 1) {
    42             // 获取邮箱中"@"符号的位置
    43             int index2 = Name.indexOf('@');
    44             // 获取邮箱中"."号的位置
    45             int index3 = Name.indexOf('.');
    46             if (index2>0 && index3-index2> 1&&index3!=Name.length()-1) {// 判断必须包含"@"符号,且"@"必须在"."之前
    47                 
    48                 return 2;
    49             }
    50         }
    51         if (count1 > 0) {
    52             // 获取文件名中最后一次出现"."号的位置
    53             int index = Name.lastIndexOf('.');
    54             // 获取文件的后缀
    55             String prefix = Name.substring(index);
    56             
    57             // 判断必须包含"."号,且不能出现在首位,同时后缀名为"java"
    58             if (index != -1 && index != 0 && prefix.equals(".java")) {
    59 
    60                 return 1;
    61             }
    62         }
    63         return -1;
    64 
    65     }

    运行结果:


    这是按照我自己理解写的小程序,主要是用来熟悉String类的方法的使用,可能有很多需要改进的地方,如果有错误的地方请指出来谢谢!!

  • 相关阅读:
    模板方法模式
    LINQ多条件OR模糊查询
    在LINQ中实现多条件联合主键LEFT JOIN
    js只显示整点
    Vue-cli2中处理跨域
    vue动态绑定类(实现tab)
    Vue中引入cdn同时防止cdn挂掉
    vue+nginx开启gzip压缩
    Vue路由守卫
    vue-router嵌套路由和二级目录(域名)
  • 原文地址:https://www.cnblogs.com/hysum/p/7126823.html
Copyright © 2011-2022 走看看