심심해서 한 금액을 중국어 종류로 바꾸려고 애쓰다

2454 단어 계산법

/**
 * 
 */
package test;

/**
 * @author Cl
 *
 */
public final class Money {
	static String[] unit = {" "," "," "," "," "," "," "," "," "," "," "," "," "};
	static String[] cn = {" "," "," "," "," "," "," "," "," "," "};
	
	public static String changeToCN(String alb){
		StringBuffer changed = new StringBuffer();
		char[] achs = alb.toCharArray();
//		for(char ach:achs){
//			String sach = String.valueOf(ach);
//			int d = Integer.parseInt(sach);
//			changed.append(cn[d]);
//		}
		if(achs.length>13){
			System.out.println("    ,    !");
			return null;
		}
		else{
			for(int i = 0;i<achs.length;i++){
				String sach = String.valueOf(achs[i]);
				int d = Integer.parseInt(sach);
				String s = cn[d];
				int e = achs.length-i-1;
				if(s==" " && (e==0 || e==4 || e==8 || e==12)){
					s=unit[e];
				}
				else if(s==" " && (e!=0 || e!=4 || e!=8 || e!=12)){
					s=" ";
				}
				else{
					s += unit[e];
				}
				changed.append(s);
			}
			String str = changed.toString();
			if(str.contains("   ")){
				str = str.replaceAll("   ", " ");
			}
			if(str.contains("  ")){
				str = str.replaceAll("  ", " ");
			}
			while(str.contains("  ") || str.contains("  ") || str.contains("  ")){
				str = str.replaceAll("  ", " ");
				str = str.replaceAll("  ", " ");
				str = str.replaceAll("  ", " ");
				
				str = str.replaceAll("  ", " ");
				str = str.replaceAll("  ", " ");
			}
			return str;
		}
	} 
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String s = Money.changeToCN("100000001");
		System.out.println(s);
	}

}


발표 후에야 인터넷에 올라가 이 문제의 해결 방법을 살펴보았다.인형의 알고리즘과 사고방식이 자신과 똑같다는 것을 보았다.하하!하늘 끝 어디에 지기가 없겠는가!

좋은 웹페이지 즐겨찾기