/** * */ package de.fhswf.in.inf.java1.aufgabe04; import java.util.Arrays; /** * Tests the different methods to created a prefilled String. * * @author $Author: $ * @version $Revision: $, $Date: $ UTC */ public final class Fill { private Fill() { } /** * * Creates a string of given length filled with the given char. * * @param length * Length of the returned String. * @param c * Char the String is filled with. * @return Returns the generated String. */ public static String createStringFilledWith(int length, char c) { // String that will be returned String result = ""; for (int i = 0; i < length; i++) { // Every iteration, a new string is created. result += c; } // Return the build string return result; } /** * * Creates a string of given length filled with the given char. * * @param length * Length of the returned String. * @param c * Char the String is filled with. * @return Returns the generated String. */ public static String createStringFilledWith2(int length, char c) { // charArray that will be returned char[] result = new char[length]; Arrays.fill(result, c); // Return the build string return result.toString(); } /** * * Creates a string of given length filled with the given char. * * @param length * Length of the returned String. * @param c * Char the String is filled with. * @return Returns the generated String. */ public static String createStringFilledWith3(int length, char c) { // String that will be returned StringBuilder result = new StringBuilder(length); for (int i = 0; i < length; i++) { // Every iteration, a new string is created. result.append(c); } // Return the build string return result.toString(); } /** * * Calls the function createStringFilledWith() and measures its runtime. * * @param args * Console line arguments. */ public static void main(String[] args) { final int anzDurchlaefe = 100000000; long start; start = System.currentTimeMillis(); // Gets current time in �s Fill.createStringFilledWith(anzDurchlaefe, 'x'); // Function call // Calculates the time runtime of creatStringFilledWith() System.out.println("Elapsed time: " + (System.currentTimeMillis() - start) + " ms"); start = System.currentTimeMillis(); // Gets current time in �s Fill.createStringFilledWith2(anzDurchlaefe, 'x'); // Function call // Calculates the time runtime of creatStringFilledWith2() System.out.println("Elapsed time: " + (System.currentTimeMillis() - start) + " ms"); start = System.currentTimeMillis(); // Gets current time in �s Fill.createStringFilledWith3(anzDurchlaefe, 'x'); // Function call // Calculates the time runtime of creatStringFilledWith3() System.out.println("Elapsed time: " + (System.currentTimeMillis() - start) + " ms"); } }