双指针

public class Main{
	public static void main(String[] args) {		Scanner sc = new Scanner(System.in);
		String str = sc.nextLine();
		int i=0;
		int j=0;
		boolean flag = false;
		char ch;
		List<String> arr = new ArrayList<>();
		while(j<str.length()){
			ch = str.charAt(j);
			if(flag == false){
				if(ch == '\"'){
					flag = true;
					j++;
					continue;
				}
				else if(j==str.length()-1){
					StringBuffer sb = new StringBuffer(str.substring(i,j));
					sb.append(str.charAt(j));
					arr.add(sb.toString());
					break;
				}
				else if(ch == ' ' && j>i){
					arr.add(str.substring(i,j));
					//System.out.println(str.substring(i,j));
					i=j+1;
					j++;
				}
				else if(ch == ' ' && j==i){
					i++;
					j++;
				}
				else{
					j++;
				}
			}
			else{
				if(ch!='\"'){
					j++;
				}
				else{
					arr.add(str.substring(i+1,j));
					//System.out.println(str.substring(i+1,j));
					i=j+1;
					j++;
					flag = false;
				}
			}
			
		}
		System.out.println(arr.size());
		for(int k=0;k<arr.size();k++){
			System.out.println(arr.get(k));
		}
	}
}