gpt4 book ai didi

java - 句子生成器java

转载 作者:行者123 更新时间:2023-12-02 12:36:06 25 4
gpt4 key购买 nike

我试图让这段代码获取每个变量,将其传递给构建器方法,并让它根据用户输入的内容创建一个完整的句子。构建器方法将其传递回主方法并打印出由“主语+动词+形容词+宾语+副词”组成的完整句子。

我需要将每个用户输入存储到 ArrayList 中吗?如果是这样,我如何提示用户输入每个新句子?我尝试过使用 for 循环,但它只要求我输入第一行 5 次,假设我创建了 Array[5]。

package assignment.pkg4.pkg3.string.input;
import java.util.Scanner;

public class Assignment43StringInput {
private static Scanner scanner = new Scanner( System.in );
public static void main(String[] args) {

System.out.print("Enter a subject: ");
String subject = scanner.nextLine();

System.out.print("Enter a verb: ");
String verb = scanner.nextLine();

System.out.print("Enter an adjective: ");
String adjective = scanner.nextLine();

System.out.print("Enter an object: ");
String object = scanner.nextLine();

System.out.print("Enter an adverb: ");
String adverb = scanner.nextLine();


System.out.print(builder(text));

}

public static String builder(String text) {
String sentence = subject + verb + adjective + object + adverb;
return sentence;
}
}

最佳答案

如果我正确理解你的问题,你想为每个输入使用一个唯一的结构而不是一个变量。如果您知道您的大小始终为 5 并且不会改变,那么您可以使用 String[]。或者,您可以使用列表

但是如果您想确切地知道什么是什么,您可能需要尝试一下Map。我将用一个例子来解释它:

public class Assignment43StringInput {
private static Scanner scanner = new Scanner( System.in );
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();

System.out.print("Enter a subject: ");
map.put("subject", scanner.nextLine());

System.out.print("Enter a verb: ");
map.put("verb", scanner.nextLine());

System.out.print("Enter an adjective: ");
map.put("adjective", scanner.nextLine());

System.out.print("Enter an object: ");
map.put("object", scanner.nextLine());

System.out.print("Enter an adverb: ");
map.put("adverb", scanner.nextLine());

System.out.print(builder(map));
}

public static String builder(Map<String,String> map) {
return map.get("subject") + " " + map.get("verb") + " " + map.get("adjective") + " " + map.get("object") + " " + map.get("adverb");
}
}

这样您就可以根据需要轻松地重新排序句子,甚至可以添加更多元素。

关于java - 句子生成器java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45134675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com