Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.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_Random_Timing_Insertion Sort - Fatal编程技术网

Java 随机数排序方法的时间测试代码问题

Java 随机数排序方法的时间测试代码问题,java,random,timing,insertion-sort,Java,Random,Timing,Insertion Sort,最后,我为带有时间分析代码的排序方法编写了工作代码,但是当我将随机数生成器代码放在方法调用中而不是默认的赋值int[]list={9,1,8,2,7,3,6,4,5}时;我得到一个错误-类型不匹配:无法从ArrayList转换为int[]”。我尝试更改GeneratorDomainList以返回数组,但仍然得到相同的错误,然后我尝试将InsertSort类中的每个“数组”更改为“列表”,并且仍然在计时代码“类型不匹配:无法从ArrayList转换为int[]”中得到相同的错误,然后假设我必须在R

最后,我为带有时间分析代码的排序方法编写了工作代码,但是当我将随机数生成器代码放在方法调用中而不是默认的赋值int[]list={9,1,8,2,7,3,6,4,5}时;我得到一个错误-类型不匹配:无法从ArrayList转换为int[]”。我尝试更改GeneratorDomainList以返回数组,但仍然得到相同的错误,然后我尝试将InsertSort类中的每个“数组”更改为“列表”,并且仍然在计时代码“类型不匹配:无法从ArrayList转换为int[]”中得到相同的错误,然后假设我必须在Random类中从arraylist更改为list,但是当我为Random类更改时,我得到错误“无法实例化类型list”。希望有人能告诉我我做错了什么,并帮助我解决这个问题。还有,计时部分做得对吗?看起来不需要那么长时间,当我跑步时,我会得到69391841667800纳秒

以下是我的InsertSort计时分析代码(InsertTime)-

公共类插入时间{
私有int[]arr;
公共插入时间(int[]数组){
arr=阵列;
}
私有布尔值更多(int值1,int值2)
{
返回值1>值2;
}
公共无效排序()
{
int size=arr.length;
内部温度,j;
对于(int i=1;i0&&more(arr[j-1],temp);j--)
{
arr[j]=arr[j-1];
}
arr[j]=温度;
}
}
公共静态void main(字符串[]args)
{
int[]数组=Random.generateRandomList(5,1,10);
InsertSort bs=新的InsertSort(数组);
b.sort();

对于(int i=0;我不会返回
ArrayList
并将其分配到
int[]
变量,因为这没有任何意义。请先根据副本将列表转换为数组。老实说,您正在使用的一些代码似乎是借用的代码,您不理解的代码,并表示它是您的。这不是您应该做的。此外,请在以后发布格式良好且易于阅读的代码。如何处理你的意思是格式良好?你的意思是你不必向下滚动就能看到所有内容吗?我一直在试图弄清楚,为什么我们谈论的不是网站格式,而是你的格式。代码格式很重要。很多。而且制定规则不是为了迫使编码人员创建“漂亮”的网站而是鼓励程序员创建对其他人(以及他们未来的自己)来说容易的代码要理解和调试,您的代码两者都不是。您需要努力学习并遵循这些格式规则,包括适当使用缩进。例如,请检查。您已经要求,已经要求您更好地设置代码格式,并且已经得到了答案。请停止以这种方式浪费我们的时间。
public class InsertTime {
private int[] arr;
public InsertTime(int[] array) {
arr = array;
}
private boolean more(int value1, int value2)
{
return value1 > value2;
}
public void sort()
{
int size = arr.length;
int temp,j;
for(int i=1; i<size; i++)
{temp=arr[i];
for(j=i; j>0 && more(arr[j-1], temp); j--)
{
arr[j]=arr[j-1];
}
arr[j]=temp;
}
}
public static void main(String[] args)
{
    int[] array = Random.generateRandomList(5, 1, 10);
InsertSort bs = new InsertSort(array);
bs.sort();
for(int i=0;i<array.length ;i++)
{
System.out.print(array[i] + " ");
}
long endTime = System.nanoTime(); //Current system Time at end

long startTime = 0;
long duration = (endTime - startTime); //divide by 1000000 to get milliseconds.

System.out.print(duration);
}
}
import java.util.ArrayList;

public class Random {

public static void main(String[] args)
{
    System.out.println(generateRandomList(5, 1, 10));
}

public static ArrayList<Integer> generateRandomList( int size, int min, int max) {
    ArrayList<Integer> list;
    list = new ArrayList<>();
    for(int i=0;i<size;i++) {
        int n = (int)(Math.random() * (max-min))+min;
        list.add(n);
    }
    return list;
}

}