Java tutorial
/** * @author Tadanori TERUYA <tadanori.teruya@gmail.com> (2012) * @license: The MIT license <http://opensource.org/licenses/MIT> */ /* * Copyright (c) 2012 Tadanori TERUYA (tell) <tadanori.teruya@gmail.com> * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation files * (the "Software"), to deal in the Software without restriction, * including without limitation the rights to use, copy, modify, merge, * publish, distribute, sublicense, and/or sell copies of the Software, * and to permit persons to whom the Software is furnished to do so, * subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * * @license: The MIT license <http://opensource.org/licenses/MIT> */ package com.github.tell.mathematics.combinatorics; import org.apache.commons.lang3.ArrayUtils; import org.apache.log4j.PropertyConfigurator; import org.junit.Test; import java.util.Arrays; /** * @author Tadanori TERUYA <tadanori.teruya@gmail.com> (2012) */ public class CombinationTest { static { PropertyConfigurator.configure("log4j.properties"); } @Test public void toyExample() throws Exception { final Integer[] a = new Integer[] { 0, 1, 2, 3, 4 }; final Integer[] b = ArrayUtils.subarray(a, 2, 4); System.out.printf("b = %s%n", Arrays.deepToString(b)); final Integer[] c = ArrayUtils.add(b, 5); System.out.printf("c = %s%n", Arrays.deepToString(c)); final Integer[] d = ArrayUtils.addAll(c, new Integer[] { 6, 7 }); System.out.printf("d = %s%n", Arrays.deepToString(d)); for (int i = 0; i <= d.length; i++) { final Combination<Integer> comb = new Combination<Integer>(d, i); final Integer[][] e = comb.makeCombination(); System.out.printf("e = %s%n", Arrays.deepToString(e)); } } @Test public void toyIteratorExample() throws Exception { final Integer[] a = new Integer[] { 0, 1, 2, 3, 4 }; final Integer[] b = ArrayUtils.subarray(a, 2, 4); System.out.printf("b = %s%n", Arrays.deepToString(b)); final Integer[] c = ArrayUtils.add(b, 5); System.out.printf("c = %s%n", Arrays.deepToString(c)); final Integer[] d = ArrayUtils.addAll(c, new Integer[] { 6, 7 }); System.out.printf("d = %s%n", Arrays.deepToString(d)); for (int i = 0; i <= d.length; i++) { final Combination<Integer> comb = new Combination<Integer>(d, i); for (final Integer[] e : comb) { System.out.printf("e = %s%n", Arrays.deepToString(e)); } } } }