java如何區分如題的四種東西呢?首先我想到的是利用ASCII碼,由於不一樣的符號的ASCII碼是不同的。而要利用ASCII碼區分的話,至少要知道A,Z,a,z,0,9的ASCII碼,這樣就能夠利用ASCII碼來區分了。java
這是第一種方法。函數
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字符都有排序的,因此能夠直接比較。spa
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三個字符串,而後每次用這三個字符串判斷就好了code
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 }