编译Java程序“找不到符号”时发生错误

退出码

当尝试在终端中使用javac -g命令编译'PongMain.java'时,出现这些错误:

错误:

    tests-iMac:~ finnfallowfield$ javac -g /Users/finnfallowfield/Desktop/Developer/Java\:Javascript/Game\ Development/Java\ Pong/src/main/pong/PongMain.java 
/Users/finnfallowfield/Desktop/Developer/Java:Javascript/Game Development/Java Pong/src/main/pong/PongMain.java:9: error: cannot find symbol
import main.pong.Ball;
                ^
  symbol:   class Ball
  location: package main.pong
/Users/finnfallowfield/Desktop/Developer/Java:Javascript/Game Development/Java Pong/src/main/pong/PongMain.java:10: error: cannot find symbol
import main.pong.PaddleLeft;
                ^
  symbol:   class PaddleLeft
  location: package main.pong
/Users/finnfallowfield/Desktop/Developer/Java:Javascript/Game Development/Java Pong/src/main/pong/PongMain.java:11: error: cannot find symbol
import main.pong.PaddleRight;
                ^
  symbol:   class PaddleRight
  location: package main.pong
/Users/finnfallowfield/Desktop/Developer/Java:Javascript/Game Development/Java Pong/src/main/pong/PongMain.java:15: error: cannot find symbol
    Ball ball;
    ^
  symbol:   class Ball
  location: class PongMain
/Users/finnfallowfield/Desktop/Developer/Java:Javascript/Game Development/Java Pong/src/main/pong/PongMain.java:16: error: cannot find symbol
    PaddleLeft pLeft;
    ^
  symbol:   class PaddleLeft
  location: class PongMain
/Users/finnfallowfield/Desktop/Developer/Java:Javascript/Game Development/Java Pong/src/main/pong/PongMain.java:17: error: cannot find symbol
    PaddleRight pRight;
    ^
  symbol:   class PaddleRight
  location: class PongMain
/Users/finnfallowfield/Desktop/Developer/Java:Javascript/Game Development/Java Pong/src/main/pong/PongMain.java:29: error: cannot find symbol
        ball = new Ball();
                   ^
  symbol:   class Ball
  location: class PongMain
/Users/finnfallowfield/Desktop/Developer/Java:Javascript/Game Development/Java Pong/src/main/pong/PongMain.java:30: error: cannot find symbol
        pLeft = new PaddleLeft();
                    ^
  symbol:   class PaddleLeft
  location: class PongMain
/Users/finnfallowfield/Desktop/Developer/Java:Javascript/Game Development/Java Pong/src/main/pong/PongMain.java:31: error: cannot find symbol
        pRight = new PaddleRight(ball.getY() - 35);
                     ^
  symbol:   class PaddleRight
  location: class PongMain
9 errors

我正在尝试编译一个pong游戏,所有其他java文件都可以正常编译,但是这个文件没有。这是我要编译的文件的代码:

文件源代码:

package main.pong.main;

import java.applet.*;
import java.awt.event.*;
import java.awt.*;

import javax.swing.Timer;

import main.pong.Ball;
import main.pong.PaddleLeft;
import main.pong.PaddleRight;

public class PongMain extends Applet implements MouseMotionListener, ActionListener
{
        Ball ball;
        PaddleLeft pLeft;
        PaddleRight pRight;
        Font newFont = new Font("sansserif", Font.BOLD, 20);
        Graphics bufferGraphics;
        Image offscreen;
        final int WIDTH = 500, HEIGHT = 300;
        long currentTime;

        public void init()
        {
                //Sets the applet to be 500 * 300
                setSize(500, 300);
                //Initiate ball and two paddles
                ball = new Ball();
                pLeft = new PaddleLeft();
                pRight = new PaddleRight(ball.getY() - 35);

                //Add mousMotionListener
                addMouseMotionListener(this);
                setBackground(Color.blue);
                offscreen = createImage(WIDTH, HEIGHT);
                bufferGraphics = offscreen.getGraphics();
        }

        public void start(){
                currentTime = System.currentTimeMillis();
                //Set up frame-rate
                Timer time = new Timer(15, this);
                time.start();
                while(pRight.getScore() < 10){
                }
                time.stop();
                currentTime = System.currentTimeMillis() - currentTime;
                repaint();
        }

        public void stop(){

        }

        public void paint(Graphics g)
        {
                bufferGraphics.clearRect(0,0,WIDTH,HEIGHT);
                bufferGraphics.setColor(Color.green);
                //Left side
                bufferGraphics.fillRect(pLeft.XPOS,pLeft.getPos(),10,70);
                //Right side
                bufferGraphics.fillRect(pRight.XPOS, pRight.getPos(), 10, 70);

                //White lines
                bufferGraphics.setColor(Color.white);
                bufferGraphics.setFont(newFont);
                bufferGraphics.drawString("Futile", 150, 15);
                bufferGraphics.drawString(""+ pRight.getScore(),300,15);
                bufferGraphics.fillRect(240,0,20,300);

                if(pRight.getScore() == 10){
                        //Display for how long game lasted
                        bufferGraphics.drawString("You Lasted: " + (currentTime/ 1000) + "sec.", 40, 150);
                }

                //We draw the ball
                bufferGraphics.setColor(Color.red);
                bufferGraphics.fillRect(ball.getX(), ball.getY(),10, 10);

                g.drawImage(offscreen,0,0,this);
                Toolkit.getDefaultToolkit().sync();
    }


    // STUFF
        public void update(Graphics g)
        {
                paint(g);
        }

        public void mouseMoved(MouseEvent evt)
        {
                pLeft.setPos(evt.getY()- 35);
        }

        public void mouseDragged(MouseEvent evt)
        {
        }

        public void checkCollision(){
                if(ball.getY() == 0 || ball.getY() == 290){
                        ball.dy = (ball.dy * -1);
                }

                if((ball.getX() == 40) && hitPaddle()){
                        ball.dx = (ball.dx * -1);
                }

                if(ball.getX() == 460){
                        ball.dx = (ball.dx * -1);
                }

                if(ball.getX() == 0){
                         pRight.setScore(pRight.getScore() + 1);
                         ball.reset();
                }
        }

        public boolean hitPaddle(){
                boolean didHit = false;

                if((pLeft.getPos() - 10) <= ball.getY() && (pLeft.getPos() + 70) > ball.getY()){
                        didHit = true;
                }
                return didHit;
        }

        @Override
        public void actionPerformed(ActionEvent arg0) {
                ball.move();
                pRight.setPos(ball.getY() - 35);
                checkCollision();
                repaint();
        }
}

感谢您的阅读,请回复并注意,我是Java和堆栈交换的完整入门者,因此我将需要大量帮助来解决此问题!

欧内斯特·弗里德曼·希尔

为了正确编译,需要满足一些外部条件:

  1. 必须有一个名为 main.pong.Ball
  2. 无论是Ball.javaBall.class必须是可用
  3. 如果它是源文件,则它必须在main/pong编译时类路径上位于编译器可用的目录中,或者必须在javac命令行上命名
  4. 如果是类文件,则它必须位于main/pong编译时类路径上的目录中

这些条件之一没有得到满足。遇到所有问题,这些问题就应该消失了(当然可以用新问题代替。)通常,鉴于您似乎拥有的设置,最简单的方法是使用“ cd”命令更改为目录/Users/finnfallowfield/Desktop/Developer/Java:Javascript/Game Development/Java Pong/src/,然后运行javac main/pong/PongMain.java

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

找不到符号(java编译时错误)

来自分类Dev

(Java)编译时出现“错误:找不到符号”?

来自分类Dev

编译.java文件时找不到符号错误

来自分类Dev

编译时错误:找不到符号Jlabel

来自分类Dev

Java编译错误:找不到符号

来自分类Dev

添加时间程序编译器错误:找不到符号

来自分类Dev

Java VTD-XML找不到符号错误。编译Java时如何正确引用包?

来自分类Dev

Java VTD-XML找不到符号错误。编译Java时如何正确引用包?

来自分类Dev

错误:找不到符号-Java编译错误

来自分类Dev

Java编译错误找不到接口符号

来自分类Dev

Java中的编译错误:找不到符号

来自分类Dev

错误:找不到符号类编译

来自分类Dev

编译器错误-找不到符号

来自分类Dev

Java,找不到符号错误?

来自分类Dev

JAVA错误找不到符号

来自分类Dev

Java错误,找不到符号

来自分类Dev

Java-javax.json-编译错误:.getValueType()的“找不到符号”-似乎找不到原因

来自分类Dev

C / OSX / clang混淆:在链接时而不是编译时发生“找不到符号”

来自分类Dev

C / OSX / clang混淆:在链接时而不是编译时发生“找不到符号”

来自分类Dev

基本Java程序错误-找不到符号ActionListener()

来自分类Dev

从cmd编译Java程序时,出现“错误:找不到符号”,但是在Eclipse中却没有

来自分类Dev

编译Xamarin应用程序。加载程序集时发生异常。找不到文件异常

来自分类Dev

Java在编译期间找不到符号

来自分类Dev

Java错误“错误:找不到符号”

来自分类Dev

使用clang编译时找不到架构x86_64错误的符号

来自分类Dev

使用makefile与javac进行编译时出现“错误:找不到符号”

来自分类Dev

由于出现“找不到符号类X”错误,因此无法在Intellij Idea中编译Java类

来自分类Dev

Java-错误:找不到符号-变量

来自分类Dev

Java错误:找不到符号Rational()

Related 相关文章

  1. 1

    找不到符号(java编译时错误)

  2. 2

    (Java)编译时出现“错误:找不到符号”?

  3. 3

    编译.java文件时找不到符号错误

  4. 4

    编译时错误:找不到符号Jlabel

  5. 5

    Java编译错误:找不到符号

  6. 6

    添加时间程序编译器错误:找不到符号

  7. 7

    Java VTD-XML找不到符号错误。编译Java时如何正确引用包?

  8. 8

    Java VTD-XML找不到符号错误。编译Java时如何正确引用包?

  9. 9

    错误:找不到符号-Java编译错误

  10. 10

    Java编译错误找不到接口符号

  11. 11

    Java中的编译错误:找不到符号

  12. 12

    错误:找不到符号类编译

  13. 13

    编译器错误-找不到符号

  14. 14

    Java,找不到符号错误?

  15. 15

    JAVA错误找不到符号

  16. 16

    Java错误,找不到符号

  17. 17

    Java-javax.json-编译错误:.getValueType()的“找不到符号”-似乎找不到原因

  18. 18

    C / OSX / clang混淆:在链接时而不是编译时发生“找不到符号”

  19. 19

    C / OSX / clang混淆:在链接时而不是编译时发生“找不到符号”

  20. 20

    基本Java程序错误-找不到符号ActionListener()

  21. 21

    从cmd编译Java程序时,出现“错误:找不到符号”,但是在Eclipse中却没有

  22. 22

    编译Xamarin应用程序。加载程序集时发生异常。找不到文件异常

  23. 23

    Java在编译期间找不到符号

  24. 24

    Java错误“错误:找不到符号”

  25. 25

    使用clang编译时找不到架构x86_64错误的符号

  26. 26

    使用makefile与javac进行编译时出现“错误:找不到符号”

  27. 27

    由于出现“找不到符号类X”错误,因此无法在Intellij Idea中编译Java类

  28. 28

    Java-错误:找不到符号-变量

  29. 29

    Java错误:找不到符号Rational()

热门标签

归档