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 字符串始终只设置为最后一个随机数而不是全部三个。
这是我的意思的照片:
答案 0 :(得分: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转换,因为当您将其转换为另一个String时,int将被强制转换为String表示形式。
然后,您可以根据需要使用子字符串来获取单个数字......但是数组是正确的方法。
答案 1 :(得分: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.
}