Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中随机生成一个switch case_Java_Switch Statement - Fatal编程技术网

在java中随机生成一个switch case

在java中随机生成一个switch case,java,switch-statement,Java,Switch Statement,您好,我正在尝试生成一个用于显示字符串的随机大小写。 到目前为止,下面的代码只输出案例2。例如,如果randomNum为1,我希望它打印出案例1中的内容,如果randomNum为2,我希望它打印出案例2中的内容。请让我知道这是否可能,并告诉我如何更正我的代码,如果可能的话。谢谢你的帮助 String Aries = ""; Random number = new Random(); int i = 0; int randomNum = number.nextInt(2) + 1;

您好,我正在尝试生成一个用于显示字符串的随机大小写。 到目前为止,下面的代码只输出案例2。例如,如果randomNum为1,我希望它打印出案例1中的内容,如果randomNum为2,我希望它打印出案例2中的内容。请让我知道这是否可能,并告诉我如何更正我的代码,如果可能的话。谢谢你的帮助

  String Aries = "";
  Random number = new Random();
  int i = 0;
  int randomNum = number.nextInt(2) + 1;

  switch(randomNum)
  {
    case 1:
      Aries = "On April 2...";
    case 2:
      Aries = "In 2018...";
  }
  System.out.println(Aries);

我会在一个范围内创建一个随机数。

Int ran0=ThreadLocalRandom.current().nextInt(1,2+1)

如果你想停止反格,你需要使用一个中断句,就像这样

    Random number = new Random();
    int i = 0;
    int randomNum = number.nextInt(2) + 1;
    String aries;

    switch(randomNum){
        case 1:
            aries = "On April 2...";
            break; //<- stop the switch
        case 2:
            aries = "In 2018...";
            break; //<- stop the switch
    }

    System.out.println(aries);
Random number=new Random();
int i=0;
int randomNum=number.nextInt(2)+1;
弦白羊座;
开关(随机数){
案例1:
白羊座=“4月2日……”;

break;//
开关
案例
语句在默认情况下失效。最小更改,将
break
添加到至少
案例1
(尽管将其添加到
案例2
也将是可取的)。例如

但是,您只有两种情况-因此,
布尔值
if-else
将更短(且更可读)。此外,除了打印之外,您似乎不需要
白羊座
。因此我将消除它。例如

Random number = new Random();
if (number.nextBoolean()) {
    System.out.println("On April 2...");
} else {
    System.out.println("In 2018...");
}

您需要在每个
案例
语句的末尾添加一个
中断
。如果您不添加此
中断
,并在一个
案例
中输入,则将按此代码段所示执行以下每个案例:

int i = 2;

switch(i) {
  case 1 :
    System.out.println("case 1");
    // add "break;" here
  case 2:
    System.out.println("case 2");
    // add "break;" here
  case 3:
    System.out.println("case 3");
    /* Optionally but strongly recommended, 
     * you shall also add a "break;" here
     * so that there is no surprise if you add a case.
     */
}
输出:

case 2
case 3
此外,您还可以通过使用字符串数组替换开关/大小写来简化代码:

String[] strings = new String[]{"case 1", "case 2", "case 3"};
Random random = new Random();
int index = random.nextInt(strings.length);
System.out.println(strings[index]);

只需添加像这样的中断,它就会工作

import java.util.*;
 public class aaaaa {

public static void main(String[] args) {
   String Aries = "";
     Random number = new Random();
     int i = 0;
     int randomNum = number.nextInt(2) + 1;

     switch(randomNum)
     {
       case 1:
         Aries = "On April 2...";
         break;
       case 2:
         Aries = "In 2018...";
         break;
     }
System.out.println(Aries );

}

}

在这种情况下,您需要一个
中断。您只需使用包含字符串的
列表
,而不是开关。请遵循Java命名约定:属性、变量、参数、方法必须以小写字母开头(Aries=>Aries)。这与OP的问题无关,OP的问题不是在每种情况下都包含
break
语句。不,这只是因为没有休息
import java.util.*;
 public class aaaaa {

public static void main(String[] args) {
   String Aries = "";
     Random number = new Random();
     int i = 0;
     int randomNum = number.nextInt(2) + 1;

     switch(randomNum)
     {
       case 1:
         Aries = "On April 2...";
         break;
       case 2:
         Aries = "In 2018...";
         break;
     }
System.out.println(Aries );

}