Java區分大小寫字母數字和符號


java如何區分如題的四種東西呢?首先我想到的是利用ASCII碼,因為不同的符號的ASCII碼是不一樣的。而要利用ASCII碼區分的話,至少要知道A,Z,a,z,0,9的ASCII碼,這樣就可以利用ASCII碼來區分了。

這是第一種方法。

 1 package test;
 2 import java.util.Scanner;
 3 public class Differentiate{
 4     public static void main(String[] args){
 5         // A-65,Z-90,a-97,z-122,0-48,9-57
 6         Scanner sc = new Scanner(System.in);
 7         String nextLine = sc.nextLine();
 8         char[] charArray = nextLine.toCharArray();
 9         for(int i = 0;i<charArray.length;i++){
10             int charAscii = (int)charArray[i];
11             if(charAscii >=65 && charAscii <=90){
12                 System.out.print("大寫字母:");
13                 System.out.println(charArray[i]);
14             }else if(charAscii >=97 && charAscii <=122){
15                 System.out.print("小寫字母:");
16                 System.out.println(charArray[i]);
17             }else if(charAscii >= 48 && charAscii <= 57){
18                 System.out.print("數字:");
19                 System.out.println(charArray[i]);
20             }else{
21                 System.out.print("符號:");
22                 System.out.println(charArray[i]);
23             }
24         }
25     }
26 }

第二種方法,在網上查資料查到的,貌似在java里面對A-Z,a-z,0-9的char字符都有排序的,所以可以直接比較。

 1 package test;
 2 
 3 import java.util.Scanner;
 4 
 5 public class Differentiate{
 6     public static void main(String[] args) {
 7         Scanner sc = new Scanner(System.in);
 8         String nextLine = sc.nextLine();
 9         for (int i = 0; i < nextLine.length(); i++) {
10             char c = nextLine.charAt(i);
11             if (c >= 'A' && c <= 'Z') {
12                 System.out.print("max ");
13                 System.out.println(c);
14             } else if (c >= 'a' && c <= 'z') {
15                 System.out.print("min ");
16                 System.out.println(c);
17             } else if (c >= '0' && c <= '9') {
18                 System.out.print("數字 ");
19                 System.out.println(c);
20             } else {
21                 System.out.print("符號");
22                 System.out.println(c);
23             }
24         }
25     }
26 }

還有一種方法,利用indexOf()函數,如果某個字符在字符串里面不存在,就會返回-1,所以只需要先做出A-Z,a-z,0-9三個字符串,然后每次用這三個字符串判斷就行了

 1 package test;
 2 
 3 import java.util.Scanner;
 4 
 5 public class Differentiate{
6 public static void main(String[] args) { 7 Scanner sc = new Scanner(System.in); 8 String nextLine = sc.nextLine(); 9 String upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 10 String lower = "abcdefghijklmnopqrstuvwxyz"; 11 String num = "0123456789"; 12 char[] charArray = nextLine.toCharArray(); 13 for(int i = 0;i<charArray.length;i++){ 14 if(upper.indexOf(charArray[i]) != -1){ 15 System.out.print("大寫字母:"); 16 System.out.println(charArray[i]); 17 }else if(lower.indexOf(charArray[i]) != -1){ 18 System.out.print("小寫字母:"); 19 System.out.println(charArray[i]); 20 }else if(num.indexOf(charArray[i]) != -1){ 21 System.out.print("數字:"); 22 System.out.println(charArray[i]); 23 }else{ 24 System.out.print("符號:"); 25 System.out.println(charArray[i]); 26 } 27 } 28 } 29 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM