我正在尝试在Eclipse上创建一个Java applet,它将打印一组随机长度的条形图,然后按长度排序并打印新数组。但是,当我运行我的程序时,它说我的applet没有初始化。我的代码如下。谁能帮我?非常感谢你!
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import java.applet.Applet;
public abstract class Proj1_1 extends Applet implements ActionListener
{
private static int[] numbers = new int[10];
public void init()
{
Button startButton = new Button("Sort");
startButton.addActionListener(this);
add(startButton);
setSize(300,300);
setVisible(true);
}
public void paint(Graphics screen)
{
numbers = Proj1_1.myRandom(numbers);
int i;
for (i = 0; i <= numbers.length - 1; i++)
{
screen.fillRect(20, 20 + 10 * i, numbers[i] + 30, 6);
}
}
public static int[] myRandom(int[] numbers)
{
Random random = new Random();
for(int i = 0; i < numbers.length; i++)
numbers[i] = random.nextInt(20);
return numbers;
}
public static int[] selectionSort (int[] numbers)
{
MySort sort = new MySort();
int[] numbers2 = sort.selectionSort(numbers);
return numbers2;
}
public void actionPerformed(ActionEvent e)
{
int[] numbers2 = Proj1_1.selectionSort(numbers);
int i;
for (i = 0; i <= numbers2.length - 1; i++)
{
Graphics screen = null;
screen.fillRect(20, 20 + 10 * i, numbers2[i] + 30, 6);
}
}
}
public class MySort {
int [] numbers;
public MySort()
{
}
public MySort(int[] numbers)
{
selectionSort(numbers);
}
public int[] selectionSort (int[] numbers)
{
for(int i=0; i<numbers.length; i++)
{
for(int j=0; j<numbers.length; j++)
{
if(numbers[i] < numbers[j])
{
int temp = numbers[i];
numbers[i] = numbers[j];
numbers[j] = temp;
}
}
}
return numbers;
}
}
答案 0 :(得分:1)
您宣布自己的班级为abstract
,因此无法实例化:
public abstract class Proj1_1 extends Applet
删除abstract
关键字
答案 1 :(得分:0)
如果我们删除抽象它会显示错误:我们定义的类不是抽象的,所以我们不能覆盖liste中的抽象方法