2014-10-16 55 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字符串總是隻設置爲最後一個隨機數,而不是全部三個。子串錯誤詮釋轉換爲字符串

這裏是我的意思是一峯:做

enter image description here

+3

你可以用+ =代替= – 2014-10-16 22:37:48

+0

是,無論是將字符串連接在一起或創建一個字符串數組,如果您想單獨保留它們以備後用 – 2014-10-16 22:39:23

+0

不能使用數組 – Phil 2014-10-16 22:39:39

回答

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將被強制轉換爲字符串表示。

然後,您可以使用子字符串來獲取單個數字,如果你想......但數組將是正確的方式來做到這一點。

+0

工作,非常感謝 - 不能做數組,因爲這是我的班的項目,我們還沒有達到陣列:p – Phil 2014-10-16 22:44:32

+1

@菲爾你可以感謝接受作爲正確答案 – 2014-10-16 22:49:06

+0

它的時間限制@getlost – Phil 2014-10-16 23:05:57

0

您正在for循環中指定lotteryNumber,這就是爲什麼它會覆蓋值並保留最後一個值。在你如果你希望所有的lotteryNumberFinal變量,你可以在這種情況下使用下面的代碼的lotteryNumber你不需要明確的整數到字符串轉換須─

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. 
}