没学过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));
}
}
请输入:
国家
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));
}
}
string比较用equals,不能用==,变量声明最好还是英文,中文太不规范了
List 国家 = new ArrayList<>(); 变量名要用英文!