I have an int array that holds a single digit in each index so that once printed out, it displays a long number. Ex: digit = {1, 2, 3, 4, 5} would look like 12345.
I have a method that takes a string as parameter and puts the numbers it gets from the string into the digit array.
It looks like this:
digit = new int [50];
for (int i = 0; i < myString.length(); i++)
{digit[i] = Character.digit(myString.charAt(i), 10)};
Now when I pass these two strings to the function:
String str1 = "1234567890123456789012345678901234567890";
String str2 = "0000123456789012345678901234567890123456";
I get
12345678901234567890123456789012345678900000000000
1234567890123456789012345678901234560000000000
Can somebody explain to me why those trailing zeros are there?
Your array can contain 50 items. However, the strings you’re passing in are less than 50 digits. Creating a new array will initialize every item in it with its default value. In this case, it’s an integer so the default value is 0. That’s why you’re getting the trailing zeros.
It sounds like what you want is a collection instead of an array. I don’t know what collection types Java has but in C#, most people use a
List.