Java:在运行时创建新字符串以进行编辑

Java:在运行时创建新字符串以进行编辑,java,string,methods,runtime,Java,String,Methods,Runtime,我正在用Java创建一个Mad库生成器。如果您知道什么是Mad Lib,这将更容易理解。另外,我对Java还不熟悉,所以请耐心听我说。我想让每一个Mad Lib都只要求那个特定Lib中的形容词、名词等的数量。例如,Mad Lib 1可能有3个名词,而Mad Lib 2可能有5个名词。有没有一种方法可以编写一个单独的方法来运行X次,创建X个新字符串(让玩家输入X个名词),并为每个字符串指定不同的名称?只需给字符串命名,如nounA、nounB、nounC或noune1、noune2、noun3就可

我正在用Java创建一个Mad库生成器。如果您知道什么是Mad Lib,这将更容易理解。另外,我对Java还不熟悉,所以请耐心听我说。我想让每一个Mad Lib都只要求那个特定Lib中的形容词、名词等的数量。例如,Mad Lib 1可能有3个名词,而Mad Lib 2可能有5个名词。有没有一种方法可以编写一个单独的方法来运行X次,创建X个新字符串(让玩家输入X个名词),并为每个字符串指定不同的名称?只需给字符串命名,如nounA、nounB、nounC或noune1、noune2、noun3就可以了。我需要最后一个故事来区分它们。如果每次我决定在我的程序中添加另一个Mad库,只需将addNon()方法循环8次,而不是编写

String nounA = scan.next();
System.out.print("\f");
String nounB = scan.next();
System.out.print("\f");

…等等,每次演讲的每一部分。我还没有了解阵列,我想这可能有一个解决方案。正如我所说,我是Java新手,因此,如果您试图向我展示任何高级内容,请以我能够理解的方式或找到更简单的方式进行解释。

如果我正确理解您的问题,那么您需要使用
ArrayList
HashMap
来实现这一点:

首先,您可以创建
String
ArrayList
来存储X个名词。
Arraylist
的示例是:

  List<String> nouns = new ArrayList<String>();
  nouns.add('nounA'); // add related noun
  //or
  String nounStr = 'new Noun'
  nouns.add(nounStr);

要了解有关使用
List
HashMap
的更多信息,请阅读参考资料和如果您有名词计数,例如在
int nounocount
中,请使用如下数组:

String[] nouns = new String[nounCount]; // Create an array
for (int i = 0; i < nouns.length; i++) {
    nouns[i] = scan.next(); // Set each item
}
String[]nomes=新字符串[nounCount];//创建一个数组
for(int i=0;i
然后,您将能够访问不同的单词,如
名词[0]
名词[1]
,等等。不过,您可能会使用循环并将所选名词的索引存储在某个地方


另请参见:

如果您“觉得”阵列在这里可能有所帮助,为什么不研究一下呢?还要检查Java集合框架:在发布本文之后,我更仔细地研究了数组,这可能不是我应该做的顺序。我选择的答案证实了我在搜索后学到的东西,所以谢谢你。
String[] nouns = new String[nounCount]; // Create an array
for (int i = 0; i < nouns.length; i++) {
    nouns[i] = scan.next(); // Set each item
}