Java:在运行时创建新字符串以进行编辑
我正在用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次,而不是编写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就可
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
}