Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:Mac终端无法显示Java图形_Java - Fatal编程技术网

Java:Mac终端无法显示Java图形

Java:Mac终端无法显示Java图形,java,Java,我正在尝试使用Java绘制棋盘。 我是Java新手。所以任何建议都会有帮助 更新:我在main方法中添加了。我在Mac终端中成功编译了它。然而,当我做java棋盘时,底部出现了一个图标,然后它消失了,没有出现任何图形。这里怎么了?代码如下: import acm.graphics.*; import acm.program.*; /* * This class draws a checkerboard on the graphics window. * The size of the

我正在尝试使用Java绘制棋盘。 我是Java新手。所以任何建议都会有帮助

更新:我在main方法中添加了。我在Mac终端中成功编译了它。然而,当我做java棋盘时,底部出现了一个图标,然后它消失了,没有出现任何图形。这里怎么了?代码如下:

import acm.graphics.*;
import acm.program.*;

/*
*   This class draws a checkerboard on the graphics window.
*   The size of the chcekerboard is specified by the constants NROWS
*   and NCOLUMNS, and the checkerboard fills the vertical space available.
*/

public class Checkerboard extends GraphicsProgram   {

     public static void main(String[] args){
         Checkerboard c = new Checkerboard();
         c.run();
     }

    // Number of rows
    private static final int NROWS = 8;

    //Number of columns
    private static final int NCOLUMNS = 8;

    //Runs the program
    public void run() {
        int sqSize = getHeight() / NROWS;
        for(int i = 0; i < NROWS; i++)  {
            for(int j = 0; j < NCOLUMNS ; j++)  {
                int x = j * sqSize;
                int y = i * sqSize;
                GRect sq = new GRect(x,y,sqSize,sqSize);
                sq.setFilled( ((i+j) % 2) != 0);
                add(sq);
            }
        }
    }
}
导入acm.graphics.*;
导入acm.程序。*;
/*
*此类在图形窗口上绘制棋盘。
*chcekerboard的大小由常数NROWS指定
*和N列,棋盘格填充可用的垂直空间。
*/
公共类棋盘扩展图形程序{
公共静态void main(字符串[]args){
棋盘c=新棋盘();
c、 run();
}
//行数
专用静态最终int NROWS=8;
//列数
私有静态final int NCOLUMNS=8;
//运行程序
公开募捐{
int sqSize=getHeight()/NROWS;
对于(int i=0;i
您似乎缺少启动程序时运行的main方法:
publicstaticvoidmain(String[]args)


(删除了我之前所做的编辑,这是为了在我自己的帖子中使用)

您的类需要有一个带有签名的main方法

public static void main(String[] args)
让你能够运行它

编辑后:

也许在调用run方法的主方法中需要一个循环?比如:

boolean exit = false;
while (!exit) {
    c.run();
    // if something set exit to true
}

相关:我没有使用Ecilpse。我正在使用mac的终端。您能用您现在掌握的更新代码,或者添加一些调试行(
System.out.println(“一些文本”);
)并发布控制台输出吗?:)(另外,投票支持我和kviiri会很好,因为我们都发布了解决您最初问题的解决方案;)(尽管“接受”可能并不合理,因为您有更多的问题)。