所以,我要检查,如果输入的位置是在国际象棋棋盘有效,如何检查字符串是否等于有效字符之一? (棋盘)
//returns true if the position is in the range of A1-H8
private boolean isValid(String position){
char first=position.charAt(0);
String letter=(""+first).toLowerCase();
boolean validLetter=position.equals("a") || position.equals("b") || position.equals("c")||
position.equals("d") || position.equals("e")|| position.equals("f") || position.equals("g") ||
position.equals("h");
正如你可以看到布尔是相当难看,那么什么是这样做的更好的办法?
顺便说一句,你如何检查第二个字符是否是一个数字?
===编辑==== 谢谢大家!但是你的答案对我来说似乎太复杂了,我刚开始学习java,那么请你给我一个更基本的解决方法?
也许位置应该有自己的类 –
可以(预处理)创建位置的'Map',然后检查是否'map.get(位置)== NULL ' – alfasin
我将委托给你宇宙的秘密...... regEx! –