package template_sentence_generator;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.atilika.kuromoji.Token;
import org.atilika.kuromoji.Tokenizer;

public class NewSentenceList2 {



	public static List<String> createNewSentenceList(List<Noun> nounlist,List<String> sentence,int count) throws FileNotFoundException, IOException{

		Tokenizer tokenizer;
		 List<Token> tokens;
		boolean hantei=false;
		String neWsentence;
		List<String> neWsentencelist= new ArrayList<String>();
		int i=0;
		int distance;


		while(i<count){
		Collections.shuffle(nounlist);
		Collections.shuffle(sentence);
		neWsentence="";
		distance=0;

		for(Noun noun:nounlist){
			if(sentence.get(0).contains(noun.getName())){
				hantei=true;
				break;
			}
		}


		if(hantei){
			tokenizer=Tokenizer.builder().userDictionary("resources/userdict.txt").build();
			tokens = tokenizer.tokenize(sentence.get(0));
			for(Token token:tokens){
				boolean isSame=false;
				for(Noun noun:nounlist){
					if(token.getSurfaceForm().equals(noun.getName())){
						Collections.shuffle(nounlist);
						for(Noun noun2:nounlist){
							if(noun.getCategory().equals(noun2.getCategory())){
								neWsentence+=noun2.getName();
								isSame=true;
								if(!noun.getName().equals(noun2.getName())) distance++;
								break;
							}
						}
						break;
					}
				}
				if(!isSame)neWsentence+=token.getSurfaceForm();
			}

		}
		if(hantei){
			neWsentencelist.add(neWsentence+"距離："+distance);
			i++;
		}
	}




		return neWsentencelist;

	}
}
