1. 程式人生 > >JAVA基礎——編程練習(三)

JAVA基礎——編程練習(三)

選擇 解析 技術 符號 分享 內容 count1 小練習 turn

熟悉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;// [email protected] 32 33 for (int i = 0; i < Name.length(); i++) {// 統計個數 34 if (Name.charAt(i) == ‘.‘) { 35 count1++; 36 } 37 if (Name.charAt(i) == [email protected]) { 38 count2++; 39 } 40 } 41 if (count1 == 1 && count2 == 1) { 42 // 獲取郵箱中"@"符號的位置 43 int index2 = Name.indexOf([email protected]); 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類的方法的使用,可能有很多需要改進的地方,如果有錯誤的地方請指出來謝謝!!

JAVA基礎——編程練習(三)