import java.util.*;
import java.util.regex.*;

class Ideone
{
	public static void main (String[] args) throws java.lang.Exception
	{
		String input = "45 + 31.05 * 110 @ 54";
		String masterOfRegexes = "[0-9]+(?:\\.[0-9]+)?|[+]|[*]|[0-9]+|(\\S)";
		Pattern pattern = Pattern.compile(masterOfRegexes);
		Matcher matcher = pattern.matcher(input);
		List<String> result = new ArrayList<>();
		while (matcher.find()){
			if (matcher.group(1) != null) {
				throw new Exception("Unknown char detected!");
			} else {
			    result.add(matcher.group()); 
			}
		}
		System.out.println(result); 
	}
	
	
}