char [] colors = {'R','G','B','Y','W'};
Scanner sc=new Scanner(System.in);
Stack stack=new Stack();
void push(){
for(int i=0; i<15; ++i){
stack.push();
}
我有一系列颜色,我想将随机颜色推入堆叠到15个元素。如何推送和显示堆栈中的所有元素。
答案 0 :(得分:1)
尝试使用以下内容:
char[] colors = {'R', 'G', 'B', 'Y', 'W'};
void push() {
for (int i = 0; i < 15; ++i) {
// define a random int to pick char from array index from 0 to colors.length -1
int idx = new Random().nextInt(colors.length);
// push the element into stack
stack.push(colors[idx]);
}
}
答案 1 :(得分:0)
定义Random对象时,最好先执行一次,然后重用该对象。 Random使用当前时间(以毫秒为单位)作为构造随机数的种子。在这样一个非常快速的循环中,毫秒可能不会发生很大变化(或者根本没有变化),因此你将随机地&#34;连续创建几个相同的数字。
以下是示例代码:
Stack stack=new Stack();
char[] colors={'R','G','B','Y','W'};
void push(){
Random random = new Random();
for(int i=0; i<15; ++i){
int randomIndex = random.nextInt(colors.length);
stack.push(colors[randomIndex]);
}
}