已经写好了java的成语接龙小程序,另外写一个类接上使它成为软件
时间: 2024-01-05 07:03:04 浏览: 30
好的,你可以将你已经写好的成语接龙程序封装成一个类,然后编写一个启动类,将其实例化并运行。
以下是一个示例:
```java
public class IdiomGame {
private String[] idioms = {"一马当先", "二话不说", "三心二意", "四面楚歌", "五体投地"};
private String currentIdiom = "";
public boolean checkIdiom(String newIdiom) {
if (currentIdiom.isEmpty()) { // 如果是第一次输入
currentIdiom = newIdiom;
System.out.println("计算机输入的成语:" + getRandomIdiom());
return true;
} else if (currentIdiom.charAt(currentIdiom.length() - 1) == newIdiom.charAt(0)) {
currentIdiom = newIdiom;
System.out.println("计算机输入的成语:" + getRandomIdiom());
return true;
} else {
System.out.println("成语接龙失败,请重新输入!");
return false;
}
}
private String getRandomIdiom() {
return idioms[(int) (Math.random() * idioms.length)];
}
}
```
这个类实现了成语接龙的逻辑,包括检查用户输入的成语是否符合规则,以及生成计算机输入的成语。
接下来,我们可以编写一个启动类,将 IdiomGame 类实例化并运行:
```java
import java.util.Scanner;
public class IdiomGameRunner {
public static void main(String[] args) {
IdiomGame game = new IdiomGame();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("请输入一个成语:");
String input = scanner.nextLine();
if (!game.checkIdiom(input)) {
continue;
}
System.out.print("是否继续游戏?(y/n)");
String answer = scanner.nextLine();
if (answer.equalsIgnoreCase("n")) {
break;
}
}
System.out.println("游戏结束!");
scanner.close();
}
}
```
在这个启动类中,我们创建了一个 IdiomGame 实例,并使用 Scanner 类从控制台输入用户的成语。然后,我们调用 checkIdiom 方法来检查成语是否符合规则,并生成计算机输入的成语。如果用户输入的成语不符合规则,则提示用户重新输入。如果用户不想继续游戏,则退出循环,游戏结束。