继承与多态: 编写程序:求100---200之间的所有素数,并输出。Applet小程序: 编写一个Applet小程序,以三种字体、三种颜色变化分别显示如下信息:“Please look at me.”多线程: 产生15个随机数存放于数组中,创建两个线程并发地对数组元素排序,一个线程采用冒泡排序法,另一个线程采用快速排序法,最后比较两个线程排序的结果,并输出先完成排序的线程。请给出编码!!非常感谢!!
调试欢乐多
public static void main(String[] args) {
for (long i = 101; i < 199; i += 2) {
if (isPrime(i))
{
System.out.println(i);
}
}
}
/**
* 只能判断大于3以上的质数
*
* @param num
* @return
*/
public static boolean isPrime(long num) {
if (num <= 2 || (num & 1) == 0) {
throw new IllegalArgumentException("Error:" + num);
} long sqrt = (long) Math.sqrt(num);
for (long i = 3; i <= sqrt; i += 2) {
if (num % i == 0) {
return false;
}
} return true;
}
}
import java.util.Arrays;
import java.util.Random;
public class Test{
public static void main(String args[]){
int[] data = createData(15);
System.out.println(Arrays.toString(data));
ThreadSort bubblesort = new ThreadSort("bubblesort",data);
ThreadSort quickSort = new ThreadSort("quickSort",data);
new Thread(bubblesort).start();
new Thread(quickSort).start();
}
public static int[] createData(int dataSize){
int data[] = new int[dataSize];
for(int i=0;i<dataSize;i++){
data[i] = new Random().nextInt();
}
return data;
}
}
class ThreadSort implements Runnable{
String sortType;
int data[];
ThreadSort(String sortType,int[] data){
this.sortType = sortType;
this.data = data;
}
@Override
public void run(){
if(sortType.equals("bubblesort")){
long start =System.nanoTime();
bubblesort(data);
long end =System.nanoTime();
System.out.println("bubblesort:" + (end-start));
}
else{
long start =System.nanoTime();
quickSort(data,0,data.length-1);
long end =System.nanoTime();
System.out.println("quickSort:" + (end-start));
}
} public static void bubblesort(int[] a){//冒泡排序
int temp;
{
for (int i = 0; i < a.length; i++) {
for (int j = a.length - 1; j > i; j--){//跟相邻交换,大的
if (a[j] < a[j-1]){
temp = a[j];
a[j] = a[j-1];
a[j-1] = temp;
}
}
}
}
System.out.println(Arrays.toString(a));
}
public static void quickSort(int[] data,int low,int high){//快速排序
int lowP=low;
int highP =high;
if(low>=high){
return;
}
int p = data[low];
while(low<high){
while(low < high && data[high]>p){
high--;
}
if(low < high){
int temp = data[low];
data[low]=data[high];
data[high]=temp;
}
while(low < high && data[low]<p){
low++;
}
if(low < high){
int temp = data[low];
data[low]=data[high];
data[high]=temp;
}
}
quickSort(data,lowP,low-1);
// 后半个子表递归排序
quickSort(data,high + 1, highP);
}
}