JavaPool(기초 로직연습)

char에서 스트링 반대로 출력 (temp로 트랙킹하기)

Ms.Pudding 2022. 1. 8. 02:42

단위별로 하나하나 끊어서 반대로 스트링을 출력해야한다.

이때 뛰어쓰기에서 스트링이 끊겨야 하기 때문에 , 그 부분에 list로 집어놓고 string을 초기화시킨다.

char를 string으로 만드는 방법은 Character.toString(c) 이런 메소드 방법도 있지만, 주로 String c = a + "" +b 이 식을 더 많이 이용하는거 같다. 왜냐면 char를 저장할 때 띄어쓰기가 들어갈 떄마다 한번씩 초기화를 시켜줘야 하기 때문이다.

for문에서 i>=0 를 i<=0으로 해서 에러남

조건문에 0나오면 항상 변수가 더 많게 표시하기 ..

 

public class MyRevParams{
	public static void main(String[] args){
		Scanner sc  = new Scanner(System.in); 
		String input = sc.nextLine();
		boolean temp = false; // 트랙킹용도
		ArrayList<String> params = new ArrayList<String>();
		String temporary = ""; //string저장용도 , 
		
		for(int i=0; i<input.length(); i++){
			char c = input.CharAt(i);
			for(c == ' '){
          			//"안에 있는 띄어쓰기는 그대로 출력한다.    
                if(temp){
				temporary += c;
				continue;
				}
			     	
			     temporary = ""; // string 초기화
			     continue;
			//"의 마지막 구간 
 			}else if(c=='"'&&temp){
				temp = false;
				continue;
			}
            //"의 첫번째 구간
			else if(c=='"'){
			       temp = true;
			       continue;
			}

			temporary +=c;
		
		} // for loop

		for(int i=params.size();i>=0;i++){
			System.out.println(params.get(i)+"$");
			}


	}
}