public static int computerbk (String str) {
		int result = -1;

		
		// Concatenate all
		str = str.replaceAll("c", "");
		System.out.println(str);
		// Replace all op1*op2
		//str = str.replaceAll("c", "");
		Pattern p = Pattern.compile("[0-9]+[*][0-9]+");
		Matcher m = p.matcher(str);
		while (m.find()) {
			String tmp = str.substring(m.start(),m.end());
			String [] tmparr = tmp.split("[*]");
			CharSequence s1 = tmp;

			//str = str.replaceAll(tmp, ""+(Integer.parseInt(tmparr[0]) * Integer.parseInt(tmparr[1])));
			str = str.replace(s1, ""+(Integer.parseInt(tmparr[0]) * Integer.parseInt(tmparr[1])));
			p = Pattern.compile("[0-9]+[*][0-9]+");
			m = p.matcher(str);
		}
		
		
		
		
		// grep the first number
		p = Pattern.compile("[0-9]+");
		m = p.matcher(str);

		if (m.find()) {
			String tmp = str.substring(m.start(),m.end());
			result = Integer.parseInt(tmp);
			System.out.print(result );
		} // else  not need to handle exception

		str = str.substring(m.end());
		//while (not end of str) {
		while ( str.length() > 0 ) {
			// grep an op
			 p = Pattern.compile("[+|*]");
			 m = p.matcher(str);
			 String operator = ""; 
					 
				if (m.find()) {
					String tmp = str.substring(m.start(),m.end());
					System.out.print(" "+tmp );
					operator = tmp;
				} // else  not need to handle exception
				str = str.substring(m.end());

			// grep an optor2
				p = Pattern.compile("[0-9]+");
				m = p.matcher(str);

				int opt2 = -1;
				if (m.find()) {
					String tmp = str.substring(m.start(),m.end());
					opt2 = Integer.parseInt(tmp);
					System.out.print(" "+ opt2 );
				} // else  not need to handle exception
				str = str.substring(m.end());
			
			// operate
			if (operator.equals("+")) {
				result = result + opt2;
			} else {
				result = result * opt2;
			}
			
		}
		System.out.println(" ="+ result);
		return result;
	}