如何在java中定义无长度的字符串数组?
我对一个简单的问题感到困惑。你能告诉我如何定义没有长度的字符串数组吗?因为我找不到关于这个问题的任何信息。如果我写如何在java中定义无长度的字符串数组?,java,arrays,Java,Arrays,我对一个简单的问题感到困惑。你能告诉我如何定义没有长度的字符串数组吗?因为我找不到关于这个问题的任何信息。如果我写String[]str=newstring[]或字符串[]str=新字符串[]{}它们将有错误。但是为什么呢? 谢谢 这是我的作业: 编写一个程序,从命令行参数中读取一系列单词,并找到给定单词的第一个匹配项的索引。例如,爪哇第一夫人,年轻女士照顾老太太。将在句子“那位年轻女士照顾老太太”中找到“lady”第一个匹配项的索引,并在控制台上显示其在句子中第一次出现的索引,例如,“lady
String[]str=newstring[]代码>或字符串[]str=新字符串[]{}代码>它们将有错误。但是为什么呢?
谢谢
这是我的作业:
编写一个程序,从命令行参数中读取一系列单词,并找到给定单词的第一个匹配项的索引。例如,爪哇第一夫人,年轻女士照顾老太太。将在句子“那位年轻女士照顾老太太”中找到“lady”第一个匹配项的索引,并在控制台上显示其在句子中第一次出现的索引,例如,“lady”第一个匹配项的索引为2”
这是我的密码:
String[] str=new String[11];
int a=0;
for(int i=0;i<11;i++){
str[i] = args[a];
a++;
}
String[]str=新字符串[11];
int a=0;
对于(int i=0;i如果需要长度为0的字符串[]
:
String[] test = new String[0];
然后
System.out.println(test.length);
我会给你
0
编辑
提问者的问题是“如何在Java中定义没有长度的字符串数组”
要回答提问者的整个问题,“编写一个程序,从命令行读取一系列单词,并找到给定单词的第一个匹配项的索引”,需要两个简单的方法
一种方法读取参数,另一种方法查找适当的索引
如果询问者使用main
方法的String[]args
,那么问题将简化为一种方法(查找他们要查找的单词的索引)
比如说
public static int findIndex(String term, String[] args) {
int index = -1;
for (int i = 0; i < args.length; i++) {
if (args[i].equals(term)) {
index = i;
break;
}
}
return index;
}
将返回索引。如果需要长度为0
的字符串[]
:
String[] test = new String[0];
然后
System.out.println(test.length);
我会给你
0
编辑
提问者的问题是“如何在Java中定义没有长度的字符串数组”
要回答提问者的整个问题,“编写一个程序,从命令行读取一系列单词,并找到给定单词的第一个匹配项的索引”,需要两个简单的方法
一种方法读取参数,另一种方法查找适当的索引
如果询问者使用main
方法的String[]args
,那么问题将简化为一种方法(查找他们要查找的单词的索引)
比如说
public static int findIndex(String term, String[] args) {
int index = -1;
for (int i = 0; i < args.length; i++) {
if (args[i].equals(term)) {
index = i;
break;
}
}
return index;
}
将返回索引。在您的情况下,可以按如下方式计算参数数:
int argsCount = args.length;
String [] str = new String[argsCount - 1];
然后,您可以按如下方式创建阵列:
int argsCount = args.length;
String [] str = new String[argsCount - 1];
然后可以用这些单词填充字符串数组,并搜索该数组以查找传递给程序的第一个参数
如果必须使用可调整大小的数组,则应使用LinkedList
在您的情况下,可以按如下方式计算arg的数量:
int argsCount = args.length;
String [] str = new String[argsCount - 1];
然后,您可以按如下方式创建阵列:
int argsCount = args.length;
String [] str = new String[argsCount - 1];
然后可以用这些单词填充字符串数组,并搜索该数组以查找传递给程序的第一个参数
如果必须使用可调整大小的数组,则应使用LinkedList
数组在Java中是固定长度的数据结构。当您实例化它时,您必须定义数组的大小,例如:
String [] myString = new String [5];
或者你应该用它的成员实例化它
String []myStringArray = new String []{"first","second"};
如果您不知道将获得多少元素,请改用ArrayList。ArrayList的大小可以在运行时动态增加或减少。您可以查看有关ArrayList的详细信息。数组是Java中的定长数据结构。实例化它时,您必须定义数组的大小,例如:
String [] myString = new String [5];
或者你应该用它的成员实例化它
String []myStringArray = new String []{"first","second"};
如果您不知道将获得多少元素,请改用ArrayList。ArrayList的大小可以在运行时动态增加或减少。有关ArrayList的详细信息,请参阅。要求:
- 第一个命令行参数是要搜索的单词
- 其他参数是一个空格分隔的列表,形成一个句子
- 程序应该返回其他参数中第一个参数的索引
示例实现:
publicstaticvoidmain(字符串[]args)
{
//检查是否提供了至少一个参数。
如果(args.length==0)
{
System.err.println(“未提供参数”);
System.err.println(“用法:[……]”;
回来
}
//第一个参数是要搜索的单词。
字符串匹配=args[0];
//迭代其他参数以查找匹配项。
对于(int i=1;i
要求:
- 第一个命令行参数是要搜索的单词
- 其他参数是一个空格分隔的列表,形成一个句子
- 程序应该返回其他参数中第一个参数的索引
示例实现:
publicstaticvoidmain(字符串[]args)
{
//检查是否提供了至少一个参数。
如果(args.length==0)
{
System.err.println(“未提供参数”);
System.err.println(“用法:[……]”;
回来
}
//第一个参数是要搜索的单词。
字符串匹配=args[0];
//迭代其他参数以查找匹配项。
对于(int i=1;i
分配mem时,您应该指定数组的长度