Here you can find the source of createValues(int barCount, String valueDigits, int distributionType, List
private static List<String> createValues(int barCount, String valueDigits, int distributionType, List<Long> valueCounts)
//package com.java2s; /*//www . j a va2 s .co m // Licensed to DynamoBI Corporation (DynamoBI) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. DynamoBI licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // http://www.apache.org/licenses/LICENSE-2.0 // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. */ import java.util.*; public class Main { private static List<String> createValues(int barCount, String valueDigits, int distributionType, List<Long> valueCounts) { int digitCount = valueDigits.length(); assert (barCount <= (digitCount * digitCount)); List<String> values = new ArrayList<String>(barCount); int iterations = barCount / digitCount; int residual = barCount % digitCount; for (int i = 0; i < digitCount; i++) { int currentIterations = iterations; if (i < residual) { currentIterations++; } for (int j = 0; j < currentIterations; j++) { char[] chars = { valueDigits.charAt(i), valueDigits.charAt(j) }; String next = new String(chars); if (distributionType > 0) { next += valueDigits.charAt(0); } values.add(next); } } return values; } }