【发布时间】:2017-12-21 10:14:10
【问题描述】:
我试图让这段代码获取每个变量,将其传递给 builder 方法,并让它根据用户输入的内容创建一个完整的句子。 builder方法将其传回main方法,打印出由“主语+动词+形容词+宾语+副词”组成的完整句子。
我是否需要将每个用户输入存储到 ArrayList 中?如果是这样,我如何提示用户输入每个新句子?我尝试过使用 for 循环,但是假设我创建了 Array[5],它只要求我输入第一行 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;
}
}
【问题讨论】:
-
假设您可以将它们添加到
ArrayList并在builder方法中检索它们。 -
如果您选择使用数组来收集碎片,则没有任何法律禁止在没有
for循环的情况下访问数组元素。例如words[0] = ...、words[3] = ...等。 -
谢谢!我想我将使用下面列出的 Map 选项。如果我想在将来重用代码,似乎给了我一些额外的灵活性。感谢您的意见。
-
用单独的变量存储每个单词有什么问题?问题不清楚。
标签: java arrays string arraylist methods