2015-10-23 7 views
1

Я произвольно генерирую 3-значные числа, используя java.util.Random(). Количество случайных 3-значных чисел, которые система печатает, контролируется пользовательским вводом. Вот код:Нужно суммировать цифры в случайных числах из цикла

//If/then statement for determining game type (determines 3 digit numbers) 
if (gameType == 3) 

//for loop to generate random numbers (numGames is how many 3 digit numbers  to print) 
for (int i = 1; i <=numGames; i = i + 1){ 

int ranNums = randomGenerator.nextInt((999 - 100) + 1) + 100; 

//Print random numbers to user 
System.out.println(ranNums); 

sumNums = ranNums % 10; 

В принципе, я хочу код, чтобы добавить цифры, которые печатаются от генератора случайных чисел. Например, если вывод ranNums равен 111 и 111, я хочу, чтобы переменная sumNums была равна 6, а не 222. С кодом, который у меня есть сейчас, он добавляет только последнюю цифру каждого номера (в этом случае 1 + 1 = 2).

+0

Вместо генерации случайных Интсов и разделив их на отдельные цифры, почему бы не просто генерировать случайные числа и хранить их отдельно? Другими словами, вместо генерации [111, 234], почему бы не генерировать [[1,1,1], [2,3,4]], так что цифры уже разделены? – mbeckish

+0

Я открыт для этого, но я не уверен, как я напишу код для этого. Вы можете помочь? – StevenC

+0

Практика работы с коллекциями, например массивами, списками и т. Д. Подходите к той точке, где вы можете создать коллекцию коллекций, а затем составить список 3-х элементовных массивов. Остальное легко - произвольно формировать цифры от 1-9 для первой из трех цифр, 0-9 для второй и третьей цифр. – mbeckish

ответ

3

Вы можете сделать это:

sumNums = (n/100) + (n/10 % 10) + (n % 10); 
+0

Это работает! Теперь мне просто нужно выяснить, как применить его ко всем числам, генерируемым циклом. Прямо сейчас это относится только к последнему порожденному числу. – StevenC

+0

Исправить '{}' для цикла for и он должен работать для всех чисел, сгенерированных – CrakC

+0

просто использовать ranNums вместо n – ergonaut