If statement 如何使我的程序获得三个特定的字母

If statement 如何使我的程序获得三个特定的字母,if-statement,random,If Statement,Random,我需要帮助使我的随机生成器只生成三个字母:G,R,B。我如何才能做到这一点,因为B的ASCII码是66,G是71,R是82。谢谢你的帮助。 我试着这样开始: public static void main(String[] args) { // TODO code application logic here String color=color(); System.out.println(color); } static

我需要帮助使我的随机生成器只生成三个字母:G,R,B。我如何才能做到这一点,因为B的ASCII码是66,G是71,R是82。谢谢你的帮助。 我试着这样开始:

    public static void main(String[] args) {
        // TODO code application logic here
        String color=color();
        System.out.println(color);
    }
    static String color(){
        String color=null;
        int randnum=(int)(Math.random()*3)+1;
        if(randnum==1){
            color= "B";
        }

        return color;
    }
}
但我不明白的是,它也会产生其他数字。我只想要G,R,B作为要输出的随机数

< p>尽管有更简洁的方法来证明它,但要证明这一原则:请考虑:

letter=(int)(Math.random()*100)
if(letter < 33)
  letter="B";
else if(letter >= 33 && letter < 66)
  letter="G";
else
  letter="R";
字母=(int)(Math.random()*100) 如果(字母<33) 字母=“B”; 否则如果(字母>=33和字母<66) 字母=“G”; 其他的 字母=“R”;
但是,如果我在一个非平凡的设置中执行此操作,并且有可能需要使用不同的字母集再次执行此操作,那么我将定义一个函数,从数组中返回随机选择的元素,并传入['B','G','R']。你从来没有说过你在用什么语言,所以我不愿意提供一个例子,但是通过数组,把随机数绑定到数组。长度。

< p>尽管有更简洁的方法来证明它,但是要论证这个原则:
letter=(int)(Math.random()*100)
if(letter < 33)
  letter="B";
else if(letter >= 33 && letter < 66)
  letter="G";
else
  letter="R";
字母=(int)(Math.random()*100) 如果(字母<33) 字母=“B”; 否则如果(字母>=33和字母<66) 字母=“G”; 其他的 字母=“R”;
但是,如果我在一个非平凡的设置中执行此操作,并且有可能需要使用不同的字母集再次执行此操作,那么我将定义一个函数,从数组中返回随机选择的元素,并传入['B','G','R']。你从来没有说过你在用什么语言,所以我不愿意提供一个例子,但是通过数组,把随机数绑定到数组。长度。

< p>尽管有更简洁的方法来证明它,但是要论证这个原则:
letter=(int)(Math.random()*100)
if(letter < 33)
  letter="B";
else if(letter >= 33 && letter < 66)
  letter="G";
else
  letter="R";
字母=(int)(Math.random()*100) 如果(字母<33) 字母=“B”; 否则如果(字母>=33和字母<66) 字母=“G”; 其他的 字母=“R”;
但是,如果我在一个非平凡的设置中执行此操作,并且有可能需要使用不同的字母集再次执行此操作,那么我将定义一个函数,从数组中返回随机选择的元素,并传入['B','G','R']。你从来没有说过你在用什么语言,所以我不愿意提供一个例子,但是通过数组,把随机数绑定到数组。长度。

< p>尽管有更简洁的方法来证明它,但是要论证这个原则:
letter=(int)(Math.random()*100)
if(letter < 33)
  letter="B";
else if(letter >= 33 && letter < 66)
  letter="G";
else
  letter="R";
字母=(int)(Math.random()*100) 如果(字母<33) 字母=“B”; 否则如果(字母>=33和字母<66) 字母=“G”; 其他的 字母=“R”;
但是,如果我在一个非平凡的设置中执行此操作,并且有可能需要使用不同的字母集再次执行此操作,那么我将定义一个函数,从数组中返回随机选择的元素,并传入['B','G','R']。您从未说过您使用的是哪种语言,因此我不太愿意提供一个示例,但请传入数组并将随机数绑定到array.length。

如果您所做的只是通过随机值分配字母,则无需让它生成准确的数字66、71和82。只需执行(int)(Math.random()*3)并执行以下操作:

if(letter==0){
    letter="B";
}
else if(letter==1){
    letter="G";
}
else if(letter==2){ 
    letter="R";
}

如果您所做的只是通过随机值分配字母,则不必让它生成准确的数字66、71和82。只需执行(int)(Math.random()*3)并执行以下操作:

if(letter==0){
    letter="B";
}
else if(letter==1){
    letter="G";
}
else if(letter==2){ 
    letter="R";
}

如果您所做的只是通过随机值分配字母,则不必让它生成准确的数字66、71和82。只需执行(int)(Math.random()*3)并执行以下操作:

if(letter==0){
    letter="B";
}
else if(letter==1){
    letter="G";
}
else if(letter==2){ 
    letter="R";
}

如果您所做的只是通过随机值分配字母,则不必让它生成准确的数字66、71和82。只需执行(int)(Math.random()*3)并执行以下操作:

if(letter==0){
    letter="B";
}
else if(letter==1){
    letter="G";
}
else if(letter==2){ 
    letter="R";
}

如果您正在使用java,这是表示答案的最佳方式

只需将红、绿、蓝放在数组列表中,并使用random类将其随机化

List List=new ArrayList()
列表。添加(“红色”)
列表。添加(“绿色”)
列表。添加(“蓝色”)

String random=list.get(randomizer.nextInt(list.size())

如果您正在使用java,这是表示答案的最佳方式

只需将红、绿、蓝放在数组列表中,并使用random类将其随机化

List List=new ArrayList()
列表。添加(“红色”)
列表。添加(“绿色”)
列表。添加(“蓝色”)

String random=list.get(randomizer.nextInt(list.size())

如果您正在使用java,这是表示答案的最佳方式

只需将红、绿、蓝放在数组列表中,并使用random类将其随机化

List List=new ArrayList()
列表。添加(“红色”)
列表。添加(“绿色”)
列表。添加(“蓝色”)

String random=list.get(randomizer.nextInt(list.size())

如果您正在使用java,这是表示答案的最佳方式

只需将红、绿、蓝放在数组列表中,并使用random类将其随机化

List List=new ArrayList()
列表。添加(“红色”)
列表。添加(“绿色”)
列表。添加(“蓝色”)

String random=list.get(randomizer.nextInt(list.size())

这是什么语言?Javascript?C#?我的建议是将这些字母存储在一个数组中,然后使用0到2之间的随机数获得该数组的随机索引,在这3个字母集中给你一个随机字母。你可以使用模3并对0到2之间的值进行if运算。你为什么会得到其他数字?因为字母=(int)(Math.random()*82)+66将给出0到82之间的随机数。然后加上66,得到的数字是66到148之间的随机数。这比你想要的多得多。这是什么语言?Javascript?C#?我的建议是将这些字母存储在一个数组中,然后使用0到2之间的随机数获得该数组的随机索引,在这3个字母集中给你一个随机字母。你可以使用模3,并对0到2之间的值进行if运算