1.특정 문구를 이용해 구조 생성하기

 private void makestructure() {
		SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
		
		String tmp = pref.getString("structure", "%h1:%mi");
		char[] temp = tmp.toCharArray();
		
		for(int i=0;i<=tmp.length();i++) {
			if(temp[i] == '%' && temp[++i] == 'h' && temp[++i] == '1') {
				ST += "mHour + ";
				//i += 2;
				continue;
			}
			else if(temp[i] == '%' && temp[++i] == 'h' && temp[++i] == '2') {
				ST += "mHour2 + ";
				//i += 2;
				continue;
			}
			else if(temp[i] == '%' && temp[++i] == 'm' && temp[++i] == 'i') {
				ST += "mMin + ";
				//i += 2;
				continue;
			}
			else if(temp[i] == '%' && temp[++i] == 'm' && temp[++i] == 'o') {
				ST += "mMonth + ";
				//i += 2;
				continue;
			}
			else if(temp[i] == '%' && temp[++i] == 's' && temp[++i] == 'e') {
				ST += "mSec + ";
				//i += 2;
				continue;
			}
			else if(temp[i] == '%' && temp[++i] == 'e' && temp[++i] == 'a') {
				ST += "CmDays + ";
				//i += 2;
				continue;
			}
			else if(temp[i] == '%' && temp[++i] == 'k' && temp[++i] == 'a') {
				ST += "CmDays2 + ";
				//i += 2;
				continue;
			}
			else if(temp[i] == '%' && temp[++i] == 'y' && temp[++i] == 'e') {
				ST += "mYear + ";
				//i += 2;
				continue;
			}
			else if(temp[i] == '%' && temp[++i] == 'd' && temp[++i] == 'a') {
				ST += "mDay + ";
				//i += 2;
				continue;
			}
			else if(temp[i] == '%' && temp[++i] == '%') {
				ST += "%";
				//i += 1;
				continue;
			}
			else {
				--i;
				ST += temp[i];
				continue;
			}
		}
		ST += "";
	}


위와 같이 해봤는데 잘 원하는데로 ST에 저장이 되질 않네요.

일단 ST 라는 스트링이 존재하고, 여기에

(변수) + "일반문자" + (변수) ......

이런식으로 저장하고싶습니다.

그런데 또 이 ST를 이용하여

textview에 setText(ST); 를 이용하면 또 변수가 출력되지않고, 변수 명이 출력되는데, 이것도 어덕해 해야할까요?


//추가사항

위와 같이 하기전에 잠깐 태스트로 그냥 ST += temp[i];로 ST에다가 순서대로 넣어보니 무조건 첫글자가 null이 뜨는데 왜그런건가요? ㅠㅠ

string을 불러올때 trim()을 써도 그렇네요.



2. c언어 에서 %02d 와 같은 기능을 하는 java 코드에는 뭐가있나요?