首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

下面两段代码哪一段的执行效率高?解决思路

2012-02-11 
下面两段代码哪一段的执行效率高?这两段代码都是关于数组的,可以自定义数组的容量和最大值,第一段是书上的

下面两段代码哪一段的执行效率高?
这两段代码都是关于数组的,可以自定义数组的容量和最大值,第一段是书上的范例,我觉得它写的太复杂了,没必要写的这么难,还用了两个循环和两个数组。下面一段是我自己改写的,除了请大家对比一下执行效率,我还想请教一下第一段代码的斜体字部分怎么理解。
import java.util.*;
import javax.swing.*;
public class LotteryDrawing{
public static void main(String ad[]){
String input= JOptionPane.showInputDialog("How many numbers do you need to draw");
int k= Integer.parseInt(input);
input= JOptionPane.showInputDialog("What is the highest number you can draw");
int n=Integer.parseInt(input);
int numbers[]=new int[n];
for(int i=1;i<numbers.length;i++)numbers=i+1;
int result[]=new int[k];

[i]for(int i=1;i<result.length;i++){
int r = (int)(Math.random()*n);
result[i]=numbers[r];
numbers[r]= numbers[n-1];
n--;
}

Arrays.sort(result);
System.out.println("B T F C.");
for(int i=0;i<result.length;i++)System.out.print(result[i]+",");
System.exit(0);
}
}

代码二:
import java.util.*;
import javax.swing.*;

public class LDrawing{
 public static void main(String ags[]){
 String input= JOptionPane.showInputDialog("How many numbers do you need to draw?");
 int k=Integer.parseInt(input);
 input= JOptionPane.showInputDialog("What is the highest number you can draw?");
 int t=Integer.parseInt(input);
 int a[]=new int[k];
 for(int i=0;i<a.length;i++){
 int r=(int)(Math.random()*t);
 a[i]=r;
 System.out.print(r+",");
 }
 System.out.println();
 Arrays.sort(a);
 System.out.println("Arrays.sort'suse:");
 for(int i=0;i<a.length;i++){System.out.print(a[i]+",");}
 } 
}


[解决办法]
不用看这些代码,你可以测试一下就知道了,在执行前打印System.out.println("毫秒时间");
执行后在打印一遍,两边的时间相减,你就得到了执行时间。
两个程序使用以上方法都试验下,就知道哪个快喽
[解决办法]
完成的功能不同啊,上面程序是互不相同的随机数,
下面的程序是可以相同的随机数。

热点排行
Bad Request.