RK333 2022-09-22 10:02 采纳率: 66.7%
浏览 43
已结题

java集合问题list和map

问题遇到的现象和发生

没学过java,学了几天有个题目,尝试写了一下,求解惑

用代码块功能插入代码,请勿粘贴截图

package demo4;

import java.util.*;

public class test1 {

public static void main(String[] args) {
    // TODO 自动生成的方法存根
    var sc = new Scanner(System.in); //生成scanner对象        
    System.out.println("请输入:");
    String name = sc.nextLine();//输入字符串
     if ( name =="国家"){
         List<String> 国家 = new ArrayList<>(); //创建集合对象
            国家.add("富强"); //向集合添加元素
            国家.add("民主");
            国家.add("文明");
            国家.add("和谐");
            int i=(int)(Math.random()*国家.size()); //获得 0~3的随机数
         System.out.println("国家:" + 国家.get(i));         
     }
                
}

}
[](
))

运行结果及报错内容

请输入:
国家

我想要达到的结果:

img


如图,输入国家社会个人三个其中之一,随机输出后面四个其中一个。list和map结合

  • 写回答

4条回答 默认 最新

  • nssnail 2022-09-22 13:09
    关注
    
        public static void main(String[] args) {
            List<String> country=Arrays.asList("富强","民主","文明","和谐");//国家
            List<String> society=Arrays.asList("自由","平等","公正","法治");//社会
            List<String> citizen=Arrays.asList("爱国","敬业","诚信","友善");//公民
    
            Map<String, List<String>> map=new HashMap<>();
            map.put("国家",country);
            map.put("社会",society);
            map.put("公民",citizen);
    
            while (true){
                System.out.println("请输入");
                String name = new Scanner(System.in).nextLine();
                if(!map.containsKey(name)){
                    System.out.println("输入错误");
                }
                List<String> list = map.get(name);
                int index = new Random().nextInt(list.size());
                System.out.println(list.get(index));
            }
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 10月6日
  • 已采纳回答 9月28日
  • 修改了问题 9月22日
  • 创建了问题 9月22日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵