[2015-10-12] Challenge #236 [Easy] Random Bag System

Java Sorry, messed up on editing on last one

package tetrominoshuffler;

import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;

public class TetrominoShuffler {
    static final Character[] tetrominos = {'O','I','S','Z','L','J','T'};
    static String generateShuffled(int numOfTetrominos){

        ArrayList<Character> listOfTetrominos = new ArrayList<>();
        char[] output = new char[numOfTetrominos];
        int outputLength = 0;
        Random rndm = new Random();
        while(outputLength < numOfTetrominos){
            if(listOfTetrominos.size() == 0){
                for (int i = 0; i < tetrominos.length; i++) {
                    listOfTetrominos.add(tetrominos[i]);
                }
            }
            int index = rndm.nextInt(listOfTetrominos.size());
            output[outputLength] = listOfTetrominos.get(index);
            listOfTetrominos.remove(index);
            outputLength++;
        }
        String outputString = new String(output);
        return outputString;


    }
    static boolean isTetrominos(String in){
        if(in == null){
            return false;
        } else if(in.length() == 0){
            return false;
        } else if(!in.matches("^[OISZLJT]+$")){
            return false;
        }
        String[] substrings = new String[in.length() / tetrominos.length % 1 == 0 ? in.length() / tetrominos.length : (int)(in.length() / tetrominos.length) + 1];
        for (int i = 0; i < substrings.length; i++) {
            ArrayList<Character> tetrominoList = new ArrayList<>();
            for (int j = 0; j < tetrominos.length; j++) {
                tetrominoList.add(tetrominos[j]);
            }
            substrings[i] = in.substring(i * 7, i * 7 + 7);
            char[] chars = substrings[i].toCharArray();
            for (int j = 0; j < chars.length; j++) {
                if(tetrominoList.contains(chars[j])){
                   tetrominoList.remove(tetrominoList.indexOf(chars[j]));
                } else {
                    return false;
                }

            }
        }
        return true;

    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        PrintStream out = System.out;
        out.println("Enter # of tetrominos");
        int tetrominos = Integer.parseInt(in.nextLine());
        out.println(generateShuffled(tetrominos));
        out.println("Enter string to check if tetromino stream is correct");
        String input = in.nextLine();
        out.println("This series of tetrominos is " + (isTetrominos(input) ? "correct" : "incorrect"));

    }
}
/r/dailyprogrammer Thread