You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中如何通过变量的值选取名称与之相同的已定义字符串变量

解决方案

你当前的思路无法直接实现:Java属于静态编译语言,运行时不能直接通过字符串格式的变量名调用对应变量,对你的需求来说最简便的实现方式是用数组存储所有歌词单词,不需要单独给每个单词定义n001、n002这类变量。

具体实现步骤:

  • 第一步:把所有歌词单词按顺序存入String类型数组,数组的下标默认从0开始,你有297个单词的话下标范围刚好是0~296
  • 第二步:生成随机数时直接生成0~296区间的整数,用随机数作为下标直接从数组里取出对应单词
  • 第三步:累加5个取出单词的长度,除以5得到平均长度

示例代码如下:

import java.util.Random;

public class LyricWordLength {
    public static void main(String[] args) {
        // 把所有歌词单词按顺序放到数组里,这里仅放前5个做示例,你把剩余292个补进数组即可
        String[] lyrics = {"I", "look", "and", "stare", "so"};
        Random bob = new Random();
        int totalLength = 0;
        
        // 循环抽取5个随机单词
        for (int i = 0; i < 5; i++) {
            // 生成0到单词总数-1的随机数,不用硬写297,后续增删单词也不用改随机数逻辑
            int randomIndex = bob.nextInt(lyrics.length);
            String pickedWord = lyrics[randomIndex];
            System.out.println("第"+(i+1)+"个选中单词:" + pickedWord);
            totalLength += pickedWord.length();
        }
        
        double avgLength = totalLength / 5.0;
        System.out.println("5个单词的平均长度:" + avgLength);
    }
}

如果你的统计抽样要求不允许重复抽取同一个单词,只需要加个逻辑存储已经抽到过的下标,生成新随机数时判断去重即可。

内容的提问来源于stack exchange,提问作者Rebekah Doody

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 11:15:00