JAVA基礎——編程練習(三)
阿新 • • 發佈:2017-07-06
選擇 解析 技術 符號 分享 內容 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 staticint 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基礎——編程練習(三)