增加一段java代码,要求成语接龙出题时给的成语最后一个字符在成语列表common内出现过
时间: 2024-02-29 17:52:53 浏览: 19
好的,以下是增加了给定成语最后一个字符在指定列表中是否出现的Java代码:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
public class IdiomGame {
private static final String[] idioms = {"一马当先", "九牛二虎之力", "画龙点睛", "四面楚歌", "金玉满堂", "珠光宝气", "独孤求败", "龙飞凤舞", "卧虎藏龙", "虎头蛇尾", "井底之蛙", "鹤立鸡群", "鸡犬不宁", "狐假虎威", "亡羊补牢"};
private static boolean isLegal(String idiom1, String idiom2) {
if (idiom1.charAt(idiom1.length() - 1) != idiom2.charAt(0)) {
return false;
}
if (usedIdioms.contains(idiom2)) {
return false;
}
if (!common.contains(String.valueOf(idiom2.charAt(idiom2.length() - 1)))) {
return false;
}
return true;
}
private static String getRandomIdiom() {
Random random = new Random();
int index = random.nextInt(idioms.length);
return idioms[index];
}
private static List<String> usedIdioms = new ArrayList<>();
private static List<String> common = new ArrayList<>();
public static void main(String[] args) {
common.add("一");
common.add("二");
common.add("三");
common.add("四");
common.add("五");
common.add("六");
common.add("七");
common.add("八");
common.add("九");
String lastIdiom = null;
while (true) {
String idiom;
if (lastIdiom == null) {
idiom = getRandomIdiom();
System.out.println("AI: " + idiom);
lastIdiom = idiom;
usedIdioms.add(idiom);
} else {
Scanner scanner = new Scanner(System.in);
idiom = scanner.nextLine();
if (isLegal(lastIdiom, idiom)) {
System.out.println("AI: " + idiom);
lastIdiom = idiom;
usedIdioms.add(idiom);
} else {
System.out.println("AI: 你输了,你的成语不符合规则!");
break;
}
}
}
}
}
```
在这个代码中,新增了一个列表 `common`,它包含了所有被允许的成语最后一个字符。同时,在 `isLegal` 方法中添加了一个判断,用于判断当前输入的成语的最后一个字是否在 `common` 列表中出现过。如果不符合规则,则输出一个提示信息并结束程序。