用java写一个方法,以实现 String inputChengyu = getNextInputChengyu(scanner, usedChengyus); // 获取用户输入的成语
时间: 2024-02-22 07:59:57 浏览: 27
好的,下面是一个示例方法的代码:
```java
public static String getNextInputChengyu(Scanner scanner, List<String> usedChengyus) {
System.out.print("请输入一个成语:");
String inputChengyu = scanner.nextLine().trim();
while (true) {
if (inputChengyu.isEmpty()) {
System.out.print("输入的成语不能为空,请重新输入:");
} else if (!isChengyu(inputChengyu)) {
System.out.print("输入的内容不是成语,请重新输入:");
} else if (usedChengyus.contains(inputChengyu)) {
System.out.print("输入的成语已经被使用过,请重新输入:");
} else {
usedChengyus.add(inputChengyu);
break;
}
inputChengyu = scanner.nextLine().trim();
}
return inputChengyu;
}
// 判断是否为成语的方法,可以根据实际情况进行修改
public static boolean isChengyu(String chengyu) {
// 假设一个字符串为成语当且仅当它的长度大于等于4并且小于等于7
return chengyu.length() >= 4 && chengyu.length() <= 7;
}
```
该方法会从 `Scanner` 对象中获取用户输入的字符串,并进行判断是否符合成语的要求(假设成语的长度在 4 到 7 个字符之间),同时还会判断输入的成语是否已经被使用过。如果输入的成语符合要求且未被使用过,则将其添加到 `usedChengyus` 列表中并返回该成语,否则会一直提示用户重新输入。