如何让递归只返回第一次的返回值

//随机生成场景
public Scene getRandomInfo(MobileCard mobileCard){
    Scene scene = new Scene();
    String[] type = {"通话","通话","短信","短信","上网","上网"};
    int[] consume = {90,30,5,50,1,2};
    String[] description = {"问候客户,谁知其如此难缠,通话90分钟","询问妈妈身体状况,本地通话30钟"
            ,"参与环境保护实施方案问卷调查,发送短信5条","通知朋友手机换号,发送短信50条"
            ,"和女友微信视频聊天,使用流量1G","晚上手机在线看韩剧,不留神睡着啦!使用流量2GB"};
    int random = (int)(Math.random()*type.length);
    System.out.println("---"+type[random]);
    if(mobileCard.getSerPackage() instanceof NetPackage && !type[random].equals("上网")){
        getRandomInfo(mobileCard);
    }else if(mobileCard.getSerPackage() instanceof TalkPackage && type[random].equals("上网")){
        getRandomInfo(mobileCard);
    }
    System.out.println("***"+type[random]);
    scene.setType(type[random]);
    System.out.println("**2"+type[random]);
    scene.setData(consume[random]);
    scene.setDescription(description[random]);
    System.out.println("*******");
    return scene;
}

 

结果:

---通话
---通话
---短信
---通话
---上网
***上网
**2上网   
******* ---只要这里
***通话
**2通话
*******
***短信
**2短信
*******
***通话
**2通话
*******
***通话
**2通话
*******

方法参数可以加个 int depth ,作为递归深度(次数),并且在方法中判断 当深度等于时 return