use*_*178 18 java arrays string initialization
可能重复:
声明未知大小的数组
我正在使用Java,我正在尝试将一个句子输入到字符串数组中.我正在对它进行标记并确定字数.但是,我需要将每个单词添加到字符串数组中,以确定是否存在重复项.如果我不知道单词计数直到程序后期,我不知道如何初始化我的数组.
//Declares variables
Scanner scan = new Scanner (System.in);
int withoutdup = 0, wordCount = 0;
String line, word;
StringTokenizer tokenizer;
List<String> sentence = ArrayList<String>;
//Asks user for input
System.out.println ("Please enter text. Enter DONE to finish.");
line = scan.next();
//Tokenizes the string and counts the number of character and words
while (!line.equals("DONE"))
{
tokenizer = new StringTokenizer (line);
while (tokenizer.hasMoreTokens())
{
word = tokenizer.nextToken();
wordCount++;
sentence += word;
}
line = scan.next();
}
Run Code Online (Sandbox Code Playgroud)
Bhe*_*ung 31
请ArrayList改用
List<String> list = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
它会自动增长.
要检查重复项,可以使用a Set(HashSet),它不允许重复元素.
更新
我在你的代码中看到了一些问题:
List<String> sentence = ArrayList<String>;
Run Code Online (Sandbox Code Playgroud)
你错过了new后=.
sentence += word;
Run Code Online (Sandbox Code Playgroud)
只有在这样的情况下才有sentence用String.这是一个List你应该List.add在那里使用方法
sentence.add(word);
Run Code Online (Sandbox Code Playgroud)
现在wordCount++;也是多余的sentence.size()会告诉你多少字.
小智 6
只需看下面的示例,您将了解如何声明未知大小的字符串数组.
首先,使用ArrayList存储字符串,每次调用.add方法时,ArrayList大小增加一个元素.当您填充ArrayList时,使用ArrayList size()方法并创建String数组并从中调整大小.但请确保ArrayList中的每个元素都是一个Object,这就是您需要将每个元素转换为String的原因.
例:
ArrayList list = new ArrayList();
for( int i = 0; i < 100; i++ )
list.add( "stuff" );
String[] strArray = new String[ list.size() ];
for( int j = 0; j < strArray.length; j++ )
strArray[ j ] = list.get( j ).toString();
Run Code Online (Sandbox Code Playgroud)
希望这会帮助你.这只是一种方式,但我认为可能有另一种更有效的方法,你可以做同样的事情.
| 归档时间: |
|
| 查看次数: |
68881 次 |
| 最近记录: |