java如何區分如題的四種東西呢?首先我想到的是利用ASCII碼,因為不同的符號的ASCII碼是不一樣的。而要利用ASCII碼區分的話,至少要知道A,Z,a,z,0,9的ASCII碼,這樣就可以利用ASCII碼來區分了。 這是第一種方法。
package test;
import java.util.Scanner;
public class Differentiate{
public static void main(String[] args){
// A-65,Z-90,a-97,z-122,0-48,9-57
Scanner sc = new Scanner(System.in);
String nextLine = sc.nextLine();
char[] charArray = nextLine.toCharArray();
for(int i = 0;i<charArray.length;i++){
int charAscii = (int)charArray[i];
if(charAscii >=65 && charAscii <=90){
System.out.print("大寫字母:");
System.out.println(charArray[i]);
}else if(charAscii >=97 && charAscii <=122){
System.out.print("小寫字母:");
System.out.println(charArray[i]);
}else if(charAscii >= 48 && charAscii <= 57){
System.out.print("數字:");
System.out.println(charArray[i]);
}else{
System.out.print("符號:");
System.out.println(charArray[i]);
}
}
}
}
複製程式碼
第二種方法,在網上查資料查到的,貌似在java裡面對A-Z,a-z,0-9的char字元都有排序的,所以可以直接比較。
package test;
import java.util.Scanner;
public class Differentiate{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String nextLine = sc.nextLine();
for (int i = 0; i < nextLine.length(); i++) {
char c = nextLine.charAt(i);
if (c >= 'A' && c <= 'Z') {
System.out.print("max ");
System.out.println(c);
} else if (c >= 'a' && c <= 'z') {
System.out.print("min ");
System.out.println(c);
} else if (c >= '0' && c <= '9') {
System.out.print("數字 ");
System.out.println(c);
} else {
System.out.print("符號");
System.out.println(c);
}
}
}
}
複製程式碼
還有一種方法,利用indexOf()函式,如果某個字元在字串裡面不存在,就會返回-1,所以只需要先做出A-Z,a-z,0-9三個字串,然後每次用這三個字串判斷就行了
package test;
import java.util.Scanner;
public class Differentiate{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String nextLine = sc.nextLine();
String upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String lower = "abcdefghijklmnopqrstuvwxyz";
String num = "0123456789";
char[] charArray = nextLine.toCharArray();
for(int i = 0;i<charArray.length;i++){
if(upper.indexOf(charArray[i]) != -1){
System.out.print("大寫字母:");
System.out.println(charArray[i]);
}else if(lower.indexOf(charArray[i]) != -1){
System.out.print("小寫字母:");
System.out.println(charArray[i]);
}else if(num.indexOf(charArray[i]) != -1){
System.out.print("數字:");
System.out.println(charArray[i]);
}else{
System.out.print("符號:");
System.out.println(charArray[i]);
}
}
}
}
複製程式碼