Search code examples
javaarraysstringlong-integerstringbuilder

Create long[] Array with Stringbuilder


I want to create a long[] Array with the Stringbuilder, but with this code i get "java.lang.NumberFormatException:"

protected long[] getpattern(int numbercount, int value) {
        StringBuilder longstringbuilder = new StringBuilder();

        while(numbercount > 0) {
            longstringbuilder.append("100, ");
            longstringbuilder.append(value + ", ");
            numbercount--;
        }
            longstringbuilder.append("100");

        String longstring = longstringbuilder.toString();

            long[] pattern = new long[] {Long.parseLong(longstring)};




        return pattern;

    }

How can i fix that? Thanks for your answers


Solution

  • You know how many elements there will be in the array: two times numbercount, plus 1. So just build that array:

    long[] values = new long[2*numbercount+1];
    for (int a = 0; a < numbercount; ++a) {
      values[2*a+0] = 100;
      values[2*a+1] = value;
    }
    values[values.length-1] = 100;
    

    There is no need to involve StringBuilder at all.