面向对象的方法,就是在main中只要说明我想干什么,然后把相关的参数扔给相关的方法,返回来的结果就是想要的。而不必在main或者在用户层面,需要如何操作。
package chapter3;
public class judgeString {
public static void main(String[] args) {
String myString = "aAAString_*&^%$#@!";
myString = JudgeWay.judge(myString);
System.out.println(myString);
}
}
class JudgeWay {
public static String judge(String str) {
char[] chr = null;
chr = new char[str.length()];
chr = str.toCharArray();
int upperNum = 0;
int lowerNum = 0;
int nonEngNum = 0;
for (int i = 0; i < chr.length; i++) {
if (isUpper(chr[i])) {
upperNum++;
continue;
} else if (isLower(chr[i])) {
lowerNum++;
continue;
} else if (isNonEng(chr[i])) {
nonEngNum++;
}
}
return "大写:" + upperNum + " 小写:" + lowerNum + " 其它:" + nonEngNum;
}
public static boolean isUpper(char car) {
if (car >= 65 && car < 'Z')// car >= 65 或者chr > 'A'
return true;
return false;
}
public static boolean isLower(char car) {
if (car >= 'a' && car <= 'z')
return true;
return false;
}
public static boolean isNonEng(char car) {
if (!((car >= 65 && car < 'Z')) && !(car >= 'a' && car <= 'z'))
return true;
return false;
}
}
运行结果:
大写:3 小写:6 其它:9
其实当然 Java里面,已经有非常好的机制和方法,如下:
package chapter3;
public class judgeString {
public static void main(String[] args) {
String myString = "aAAString_*&^%$#@!";
myString = JudgeWay.judge(myString);
System.out.println(myString);
}
}
class JudgeWay {
// public static String judge(String str) {
// char[] chr = null;
// chr = new char[str.length()];
// chr = str.toCharArray();
// int upperNum = 0;
// int lowerNum = 0;
// int nonEngNum = 0;
// for (int i = 0; i < chr.length; i++) {
// if (isUpper(chr[i])) {
// upperNum++;
// continue;
// } else if (isLower(chr[i])) {
// lowerNum++;
// continue;
//
// } else if (isNonEng(chr[i])) {
// nonEngNum++;
// }
// }
//
// return "大写:" + upperNum + " 小写:" + lowerNum + " 其它:" + nonEngNum;
//}
//
// public static boolean isUpper(char car) {
// if (car >= 65 && car < 'Z')// car >= 65 或者chr > 'A'
// return true;
// return false;
//
// }
//
// public static boolean isLower(char car) {
// if (car >= 'a' && car <= 'z')
// return true;
// return false;
//
// }
//
// public static boolean isNonEng(char car) {
// if (!((car >= 65 && car < 'Z')) && !(car >= 'a' && car <= 'z'))
// return true;
//
// return false;
//
// }
public static String judge(String word) {
int upperNum = 0;
int lowerNum = 0;
int nonEngNum = 0;
for (int i = 0; i < word.length(); i++) {
char c = word.charAt(i);
if (Character.isUpperCase(c)) {
upperNum++;
continue;
} else if (Character.isLowerCase(c)) {
lowerNum++;
continue;
} else if (!(Character.isLowerCase(c) || (Character.isUpperCase(c)))) {
nonEngNum++;
}
}
return "大写:" + upperNum + " 小写:" + lowerNum + " 其它:" + nonEngNum;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return super.toString();
}
}