2014-10-16 5 views
1
for (int i=0; i < 3; i++) { 
    lotteryNumber = (int)(Math.random()*10); 
    System.out.print(lotteryNumber); 

    lotteryNumberFinal = Integer.toString(lotteryNumber); 
} 

System.out.println(lotteryNumberFinal); 

Я пытаюсь понять, как превратить 3 случайных чисел в строки, а затем иметь возможность подстроки каждую из них к другой переменной, но моя lotteryNumberFinal строка всегда только для последнего случайного числа, а не для всех трех.ошибка Substring преобразования Int в строку

Вот фото того, что я имею в виду:

enter image description here

+3

можно использовать + = вместо = –

+0

Да, либо объединить строки или создать массив строк, если вы хотите сохранить их индивидуально для последующего использования. –

+0

Невозможно использовать массивы – Phil

ответ

2

Самый простой способ сделать это:

lotteryNumberFinal = ""; 
for(int i=0; i < 3; i++) { 
     lotteryNumber = (int)(Math.random()*10); 
     System.out.print(lotteryNumber); 

     lotteryNumberFinal += lotteryNumber; 
    } 

System.out.println(lotteryNumberFinal); 

Обратите внимание, что теперь вам не нужно делать преобразование Integer.toString, так как int будет принудительно преобразован в представление String, когда вы поместите его на другую строку.

Вы можете использовать подстроку, чтобы получить индивидуальные номера, если хотите ... но массив был бы правильным путем.

+0

Это сработало, спасибо большое - не могу делать массивы, так как это проект для моего класса, и мы еще не добрались до массивов: p – Phil

+1

@ Если вы можете поблагодарить, приняв правильный ответ –

+0

Ограничение по времени @getlost – Phil

0

Вы назначаете лотерейный номер в цикле for, поэтому он переопределяет значение и сохраняет последнее значение. В случае, если вы вы хотите, чтобы все lotteryNumber в lotteryNumberFinal переменных вы можете использовать приведенный ниже код в этом случае не требует явного Integer для преобразования Струнного also-

String lotteryNumberFinal = ""; //define String variable where you want to concatenate your lotterNumber. 

    for(int i=0; i < 3; i++) { 
     lotteryNumber = (int)(Math.random()*10); 

     System.out.print(lotteryNumber); 

     lotteryNumberFinal += lotteryNumber; // in this case you don't need to do Integer to String conversion because it will concatenate your value in a String value so it will automatically converted into string. 
} 
Смежные вопросы