Java 将一个数组存储到另一个数组中,以便在作用域之外使用

Java 将一个数组存储到另一个数组中,以便在作用域之外使用,java,arrays,string,Java,Arrays,String,问题:我需要将lengthCount[j]的值存储到范围之外的数组中\ 我尝试的是:在for循环中添加一个return语句,并将代码转换成一个方法 变量是什么: 长度计数=[I@78db81f3 j=为循环分配 下面的代码将正确的结果返回到控制台,但我无法将正确的数据存储到数组中,以便在作用域之外使用 我想做的是:拿一个字符串,数一数每个单词的字母,然后找出每个长度的单词有多少个。例如,3个单词加3个字母,1个单词加1个字母 我的当前输出: String length: 0 count: 0 S

问题:我需要将lengthCount[j]的值存储到范围之外的数组中\

我尝试的是:在for循环中添加一个return语句,并将代码转换成一个方法

变量是什么: 长度计数=[I@78db81f3
j=为循环分配

下面的代码将正确的结果返回到控制台,但我无法将正确的数据存储到数组中,以便在作用域之外使用

我想做的是:拿一个字符串,数一数每个单词的字母,然后找出每个长度的单词有多少个。例如,3个单词加3个字母,1个单词加1个字母

我的当前输出:

String length: 0 count: 0
String length: 1 count: 2
String length: 2 count: 2
String length: 3 count: 4
String length: 4 count: 4
String length: 5 count: 1
String length: 6 count: 1
因此,您可以看到代码输出的是正确的数据,我如何将其存储到int数组中

for(int j=0; j<lengthCount.length;j++){
    System.out.println("String length: "+j+" count: "+lengthCount[j]);
}

for(int j=0;j只需在需要的范围内定义一个变量,并在内部范围内使用它

int[] newArray = new int[lengthCount.length]
for(int j=0; j<lengthCount.length;j++)
{
    newArray[j] = lengthCount[j];

}
int[]newArray=newint[lengthCount.length]

对于(int j=0;j您希望将结果存储在哪个结构中


我建议为每个长度
lengthCount[j]
创建一个映射,测试键是否存在,如果存在,则在值中添加一个,否则添加值为1的键。

使用apache commons,您有一个单行解决方案,但仅适用于基元类型及其等效对象(int和Integer、byte和byte等):

让我们说你有

import org.apache.commons.lang;

String[] source = {"hello", "world", "foo", "bar"};
只要做:

String[] clone = ArrayUtils.subarray(source, 0, source.length);

我不明白。
lengthCount
已经是一个数组。哪个作用域?循环中的一个?然后再次
lengthCount
已经在作用域之外。UmNyobe我将在底部添加整个代码以供参考:)实际上,添加所需的输出您能显示您试图在范围之外使用它的范围吗?您如何声明lengthCount?我希望在“count:”之后打印出来的数字存储到范围之外的int数组中。稍后,我将在条形图中显示数据。因此我将这样存储它。arrayName[]={1,0,3,2,1,6,3}1是11个字母的工作,3是37个字母的单词。我发现这个问题很难回答。如果这给你带来了任何问题,我很抱歉
String[] clone = ArrayUtils.subarray(source, 0, source.length);