Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/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_Methods - Fatal编程技术网

Java 两种方法中的数组

Java 两种方法中的数组,java,methods,Java,Methods,正如您所看到的,它是Shell排序方法。 你能帮忙吗?第t=(int)(Math.log(A.length)/Math.log(2)-1行中的问题 如果数组的长度小于6,则t将为零。因此,您将创建长度为零的数组。这是一只虫子。可能你需要一些检查,可能需要另一个配方。无论如何,您必须检查代码。如前所述,您的问题是获取h数组长度的公式 一个简单的解决方法就是更改这一行: at ld11.sellaMethod(ld11.java:26) (h[0]=1; in this row)) at ld11

正如您所看到的,它是Shell排序方法。

你能帮忙吗?

t=(int)(Math.log(A.length)/Math.log(2)-1行中的问题


如果数组的长度小于
6
,则
t
将为零。因此,您将创建长度为零的数组。这是一只虫子。可能你需要一些检查,可能需要另一个配方。无论如何,您必须检查代码。

如前所述,您的问题是获取
h
数组长度的公式

一个简单的解决方法就是更改这一行:

at ld11.sellaMethod(ld11.java:26) (h[0]=1; in this row))

at ld11.main(ld11.java:79)    (else if(x==2){sellaMethod(A);}  in this row
致:


因为您只希望新数组的长度与初始数组的长度相同。

此代码非常不可读。例如。所有这些都集中在一行:
for(i=0;i
at ld11.sellaMethod(ld11.java:26) (h[0]=1; in this row))

at ld11.main(ld11.java:79)    (else if(x==2){sellaMethod(A);}  in this row
t = (int) (Math.log(A.length) / Math.log(2) - 1);
t = A.length;