将已随机生成的数字更改为int:Java

将已随机生成的数字更改为int:Java,java,random,switch-statement,Java,Random,Switch Statement,所以,我是个新手,请原谅我: 首先是解释: 我正在做的编程任务让我生成跳伞跑,由方块组成。为此,我需要(首先)得到一个介于1和38之间的随机数。我使用了我在网上找到的随机数发生器,取出了我不需要的零件。按原样,代码会返回一系列数字: import java.util.Random; /** Generate random integers in a certain range. */ public final class DiveGen { public static final voi

所以,我是个新手,请原谅我:

首先是解释: 我正在做的编程任务让我生成跳伞跑,由方块组成。为此,我需要(首先)得到一个介于1和38之间的随机数。我使用了我在网上找到的随机数发生器,取出了我不需要的零件。按原样,代码会返回一系列数字:

import java.util.Random;

/** Generate random integers in a certain range. */
public final class DiveGen {

  public static final void main(String... aArgs){
    log("Generating Runs");
    for (int runs=1; runs<=10; runs++) {
    int START = 1;
    int END = 37;
    Random block = new Random();
    for (int moves = 1; moves <= 4; ++moves){
           showRandomInteger(START, END, block);
            }
      System.out.printf("\n");
    }
  }

  private static void showRandomInteger(int aStart, int aEnd, Random aRandom){
    if (aStart > aEnd) {
      throw new IllegalArgumentException("Start cannot exceed End.");
    }
    //get the range, casting to long to avoid overflow problems
    long range = (long)aEnd - (long)aStart + 1;
    // compute a fraction of the range, 0 <= frac < range
    long fraction = (long)(range * aRandom.nextDouble());
    int randomNumber =  (int)(fraction + aStart);    
    System.out.printf(" " + randomNumber);
    }
    {
    System.out.printf("\n");
    }

  private static void log(String aMessage){
    System.out.println(aMessage);
  }
} 
我想知道的是:我如何把这两个粘在一起?我不想打印出生成的整数,而是希望它打印出演习的名称。到目前为止,我能得到的最好的消息是一条错误消息,上面写着“Missing{or[”,在某一点上(我甚至不记得我是如何得到它的),它告诉我不能使用随机数作为整数

<>我的代码的下一部分也要求不同的数字值不同的点值(1-16值1点,17-38值两个点)。我必须考虑某个东西是否是合法的,但这是一个不同的问题(尽管我必须牢记)。
我很抱歉说得太多:我能做什么?

只需创建块字符串作为字符串数组,并将其与数字一起用作索引:

static String blockString[] = { " ", "Unipod", "Stairstep Diamond",
        "Murphy Flake", "Yuan", "Meeker", "Open Accordian",.....};

//use as required
System.out.printf(" " + randomNumber + " " + blockString[randomNumber]);
Or
System.out.printf(" " + blockString[randomNumber]);

不能使用
开关
语句为构造函数参数创建
字符串
。需要为
开关
中的值创建一些容器,然后通过索引号或映射键访问它们。因此“缺少{或[”指示您有语法错误。调试器是否指示代码中出现此问题的位置?只要将这两个函数粘在一起,您就可以创建两个函数-第一个函数生成并返回一个随机整数(在您的范围内)第二个接受int作为参数并返回它所做的:它告诉我缺少的{or[在第16行(开关的大括号所在的位置)。如果我可以这样做,例如,我的变量'block'可以转换成整数,然后可以被我的开关读取,我就可以开始工作了。
static String blockString[] = { " ", "Unipod", "Stairstep Diamond",
        "Murphy Flake", "Yuan", "Meeker", "Open Accordian",.....};

//use as required
System.out.printf(" " + randomNumber + " " + blockString[randomNumber]);
Or
System.out.printf(" " + blockString[randomNumber]);