Если вы хотите 14 цифр, то вы должны использовать 14 вызовов на number.nextInt(10)
- что-то вроде этого:
public static String randomDigits(Random random, int length)
{
char[] digits = new char[length];
// Make sure the leading digit isn't 0.
digits[0] = (char)('1' + random.nextInt(9);
for (int i = 1; i < length; i++)
{
digits[i] = (char)('0' + random.nextInt(10));
}
return new String(digits);
}
Обратите внимание, что я создал экземпляр Random
, который вы передаете, а не создал методом - это упрощает использование одного экземпляра и позволяет избежать дублирования заполнения. Это также более общее назначение, поскольку оно отделяет аспект «использовать строку в пользовательском интерфейсе» от «генерировать случайную строку цифр».
Я не знаю, поддерживается ли Random.nextInt(int)
в J2ME - дайте мне знать, если это не так. Использование Math.abs(number.nextInt())%999
- плохая идея с точки зрения случайных распределений.