Check to see if a string has the same amount of 'x's and 'o's. The method must return a boolean and be case insensitive. The string can contain any char.
Examples input/output:
XO("ooxx") => true
XO("xooxx") => false
XO("ooxXm") => true
XO("zpzpzpp") => true // when no 'x' and 'o' is present should return true
XO("zzoo") => false
代码:
public class XO { //方法一 public static boolean getXO (String str) { boolean flag=false; int oNum=0; int xNum=0; if((str.contains("o")||str.contains("O"))&&(str.contains("x")||str.contains("X"))){ for(int i=0;i<str.length();i++){ String o=str.charAt(i)+""; if(o.trim().equals("o")||o.trim().equals("O")){ oNum++; } } for(int i=0;i<str.length();i++){ String x=str.charAt(i)+""; if(x.trim().equals("x")||x.trim().equals("X")){ xNum++; } } if(oNum==xNum){ flag=true; } }else { flag=true; } if((str.contains("o")||str.contains("O"))&&!(str.contains("x")||str.contains("X"))){ flag=false; } if(!(str.contains("o")||str.contains("O"))&&(str.contains("x")||str.contains("X"))){ flag=false; } return flag; } //方法二 public static boolean getXO2 (String str) { str = str.toLowerCase(); return str.replace("o","").length() == str.replace("x","").length(); } public static void main(String[] args) { System.out.println(getXO("xooxx")); System.out.println(getXO2("xooxx")); } }