package extras; import java.util.ArrayList; public class MakeCowSay { public static String[] cowsay(String s) throws IllegalArgumentException { if(s.length() > 200){ throw new IllegalArgumentException(); } ArrayList<String> messages = new ArrayList<String>(); int chars = 0; String messageToAdd = ""; String[] messageSplit = s.split("\\s+"); for(int i = 0; i < messageSplit.length; i++){ chars += messageSplit[i].length() + 1; if(chars > 40){ if(messageToAdd.equals("")){ throw new IllegalArgumentException(); } messages.add(messageToAdd); messageToAdd = ""; i--; chars = 0; } else messageToAdd += messageSplit[i] + " "; } messages.add(messageToAdd); if(messages.size() == 1){ messages.add(" "); } ArrayList<String> tosay = new ArrayList<String>(); tosay.add(" _________________________________________"); for(int i = 0; i < messages.size(); i++){ String prefix, suffix; if(i == 0){ prefix = "/"; suffix = "\\"; } else if(i == messages.size()-1){ prefix = "\\"; suffix = "/"; } else{ prefix = suffix = "|"; } String toadd = prefix + " " + messages.get(i); while(true){ if(toadd.length() > 40){ toadd += " " + suffix; break; } toadd += " "; } tosay.add(toadd); } tosay.add(" -----------------------------------------"); tosay.add(" \\ ^__^"); if(s.contains("420") || s.toLowerCase().contains("blaze"))tosay.add(" \\ (4oo)\\_______"); else tosay.add(" \\ (oo)\\_______"); tosay.add(" (__)\\ )\\/\\"); tosay.add(" ||----w |"); tosay.add(" || ||"); return tosay.toArray(new String[0]); } }