我在为AP计算机科学做的一个bluej实验室遇到了一点小麻烦。
我应该用ASCII字符制作美国国旗。
我有一个我老师给我们的基本代码,但我们应该把它填进去。我成功地完成了程序,但我无法测试它,因为跑步者(给我们填写的)正在抗议我的getContentPane().add(new StarsAndStripesLab());,它说:
No suitable method found for add(StarsAndStripesLab)
method java.awt.Container.add(java.awt.Component) is not applicable (actual argument StarsAndStripesLab cannot be converted to java.awp.Component by method invocation conversion)
method java.awp.Component.add(java.awp.PopupMenu) is not applicable (actual argument StarsAndStripesLab cannot be converted to java.awt.PopupMenu by method invocation conversion)这是我的跑步者和实验室的全部代码:
实验室:
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Canvas;
import java.awt.Font;
import static java.lang.System.*;
public class StarsAndStripesLab
{
public StarsAndStripesLab()
{
out.println("StarsAndStripesLab");
printTwoBlankLines();
}
public void printTwentyStars()
{
out.println("* * * * * *");
out.println(" * * * * * ");
out.println("* * * * * *");
out.println(" * * * * * ");
out.println("* * * * * *");
out.println(" * * * * * ");
out.println("* * * * * *");
out.println(" * * * * * ");
out.println("* * * * * *");
}
public void printTwentyDashes()
{
out.println("--------------------");
}
public void printTwoBlankLines()
{
out.println("\n\n");
}
public void printASmallBox()
{
out.println("|--------------|");
out.println("| |");
out.println("| |");
out.println("| |");
out.println("|--------------|");
}
public void printABigBox()
{
out.println("|-----------------------------|");
out.println("| |");
out.println("| |");
out.println("| |");
out.println("| |");
out.println("| |");
out.println("| |");
out.println("| |");
out.println("| |");
out.println("| |");
out.println("|-----------------------------|");
}
}这是跑步者(我把星号放在给我带来麻烦的地方,因为我不能突出显示):
import javax.swing.JFrame;
public class StarsAndStripesLabRunner extends JFrame
{
private static final int WIDTH = 800;
private static final int HEIGHT = 600;
public StarsAndStripesLabRunner()
{
super("Keelen Berkenkotter");
setSize(WIDTH,HEIGHT);
***getContentPane().add(new StarsAndStripesLab());***
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main( String args[] )
{
StarsAndStripesLabRunner stars = new StarsAndStripesLabRunner();
}
}任何帮助都是非常感谢的。提前谢谢。
-Keelen Berkenkotter
发布于 2013-11-24 21:59:07
我认为您要么使用了错误的运行代码,要么误解了任务。您的代码正在终端上打印字符,但是运行程序代码是一个设置窗口的图形程序。
您必须使用调用所有方法的运行程序代码,如下所示:
public class StarsAndStripesLabRunner {
public static void main( String args[] )
{
StarsAndStripesLab stars = new StarsAndStripesLab();
stars.printTwentyStars(); // and all the other methods in correct order
}
}或者,您必须编写一个以图形方式显示标志的程序。但我认为是前者,因为你说你必须使用ASCII字符。
https://stackoverflow.com/questions/20181419
复制相似问题