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类的方法的使用,可能有很多需要改进的地方,如果有错误的地方请指出来谢谢!!

posted @ 2017-07-06 15:58  云开的立夏  阅读(504)  评论(0编辑  收藏  举报