Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中定义无长度的字符串数组?_Java_Arrays - Fatal编程技术网

如何在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时,您应该指定数组的长度