java - 编译 CMD Java 程序时遇到错误

标签 java cmd command-prompt javac

刚接触java,通过CMD编译。 我的类 DataAnalyzer.java 编译正常,但包含主程序 DataAnalyzerTester.java 的类给了我一个错误。

数据分析器:

package h1.q3;
import java.util.*;
public class DataAnalyzer 
{    
    public DataAnalyzer(LinkedList<Integer> numList) 
    {
        for (int num : numList)
        {
            numbers.add(num);
        }
    }
    public int min()
    {
        smallest = numbers.getFirst();
        for(int num : numbers)
        {
            if(num < smallest) smallest = num;
        }
        return smallest;
    }

    public int max()
    {
        largest = numbers.getFirst();
        for(int num : numbers)
        {
            if(num < largest) largest = num;
        }
        return largest;
    }

    public int average()
    {
        sum = 0;
        listSize = 0;
        for(int num : numbers)
        {
            sum += num;
            listSize++;
        }
        return sum/listSize;
    }



    int largest, smallest, sum, listSize;
    LinkedList<Integer> numbers = new LinkedList<Integer>(); 
}

测试人员:

package h1.q3; import java.util.*; /**  *  * @author pini  */
public class DataAnalyzerTester  {

   public static void main(String[] args)
   {
       LinkedList<Integer> numbers = new LinkedList();
       Scanner sc = new Scanner(System.in);
       while(sc.hasNext())
       {
           numbers.add(sc.nextInt());
       }

       DataAnalyzer da = new DataAnalyzer(numbers); 

       System.out.println("Minimum: " + da.min());
       System.out.println("Maximum: " + da.max());
       System.out.println("Average: " + da.average());        
   }

我得到的错误如下:

C:\Users\pini\Documents\NetBeansProjects\Homework1\src\homework1\q3>javac DataAn
alyzer.java

C:\Users\pini\Documents\NetBeansProjects\Homework1\src\homework1\q3>javac DataAn
alyzerTester.java
DataAnalyzerTester.java:24: error: cannot find symbol
        DataAnalyzer da = new DataAnalyzer(numbers);
        ^
  symbol:   class DataAnalyzer
  location: class DataAnalyzerTester
DataAnalyzerTester.java:24: error: cannot find symbol
        DataAnalyzer da = new DataAnalyzer(numbers);
                              ^
  symbol:   class DataAnalyzer
  location: class DataAnalyzerTester
Note: DataAnalyzerTester.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
2 errors

我已经尝试了所有方法,但仍然无法编译测试器。我很确定我的代码很好,但它似乎无法识别 DataAnalyzer 对象。

谢谢

编辑

编译并运行测试程序后,我收到以下错误:

    C:\Users\pini\Documents\NetBeansProjects\Homework1\src\homework1\q3>java DataAna
lyzerTester
Exception in thread "main" java.lang.NoClassDefFoundError: DataAnalyzerTester (w
rong name: homework1/q3/DataAnalyzerTester)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
2)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

最佳答案

Java 期望源文件位于相对于编译位置的名为 h1\q3 的目录中

将文件移动到名为的目录

C:\Users\pini\Documents\NetBeansProjects\Homework1\src\homework1\h1\q3

并编译代码

javac h1\q3\*.java

来自homework1目录。

关于java - 编译 CMD Java 程序时遇到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32340136/

相关文章:

java - Hibernate和数据库连接问题(JSP页面上没有显示数据)

java - recycleview 设置适配器中支持 v4 view.NestedScrollingChild2 时出错

batch-file - 递归删除文件夹并排除特定文件夹

windows - 在cmd中调用dir打印出: "Volume in drive C has no label."

windows - 使用 "cmd"和 "start"命令获取应用程序的退出代码

windows - 需要从 32 位和 64 位机器 Windows 机器读取注册表值

java - 找不到符号方法 addOnPageChangeListener

java - 自定义 Swing 箭头按钮 repaint() 删除自定义

sdk - 为什么命令提示符中的 signtool 返回 "Windows cannot find ' signtool'。请确保您输入的名称正确……”

windows - Robocopy:/move 参数无法正常工作