我是Java的新手,我不确定如何在代码中打印这些元素。我尝试了以下但它不起作用。它给我的错误基本上说(谷歌翻译): 符号:方法print(int,long,long,long,long,long,long) 位置:类java.io.PrintStream 有人可以帮忙吗?提前谢谢!
import java.util.Random;
import java.util.Arrays;
public class SearchComparison{
public static void main(String[] args){
StopWatch watch = new StopWatch();
ArrayUtilities utilities = new ArrayUtilities();
int target = -1;
for(int n = 10; n< 10000000; n *= 2){
watch.start();
int[] array1 = new int[n];
array1 = generateRandom(n);
watch.stop();
long timeGenerateRandom = watch.getTimeMicro();
watch.start();
utilities.linearSearch(array1, target);
watch.stop();
long timeLinearSearch = watch.getTimeMicro();
watch.start();
utilities.copy(array1);
watch.stop();
long timeCopy = watch.getTimeMicro();
watch.start();
Arrays.sort(utilities.copy(array1));
watch.stop();
long timeLibrary = watch.getTimeMicro();
watch.start();
utilities.sort(array1);
watch.stop();
long timeSort = watch.getTimeMicro();
if(n> 1000000){
break;
}
watch.start();
utilities.binarySearch(array1, target);
watch.stop();
long timeBinarySearch = watch.getTimeMicro();
**System.out.print(n,timeGenerateRandom,timeLinearSearch,timeCopy,timeSort,timeLibrary,timeBinarySearch);
}**
}
public static int[] generateRandom(int n){
Random r = new Random(1);
int imax = n;
int[] array = new int[n];
for(int i = 0; i < n; i++){
array[i] = r.nextInt(imax);
}
return array;
}
}
答案 0 :(得分:0)
关于:
System.out.print(n,timeGenerateRandom,timeLinearSearch,timeCopy,timeSort,
timeLibrary,timeBinarySearch);
错误告诉您到底出了什么问题:您正在尝试使用不存在的方法。当您尝试使用逗号时,print方法不会使用逗号分隔参数。简而言之:您无法弥补方法,或尝试提供尚未设计的现有方法参数。
解决方案:使用正确参数的方法,实际上是正确的单参数。创建一个String,然后将其传递给print方法。
或者您可能想要使用System.out.printf(...)
方法。如果是这样,你仍然需要制作一个格式字符串来将变量输入。