zoukankan      html  css  js  c++  java
  • Java 6 (''错误: 找不到或无法加载主类......'')

    ''错误: 找不到或无法加载主类......''

    前言:最近学习Java。时常出现''错误: 找不到或无法加载主类......''等。

     有时计算机出现的错误,很有“个性”。

    我先叙述个人在运行Java的程序的一些个人情况。我是用notepad++,通过cmd来运行编译的。以此让大家更好的“对号入座”

    出错原因总结:(一个一个排除)

    一、我的运行过程

    1.java程序运行需要在cmd环境下先使用“javac HelloWorld.java”命令对java文件进行编译

    2.虚拟机编译会自动生成一个同名的以“.class”为后缀的类文件放在同一目录下

    3.然后再执行“java HelloWorld”来运行。程序就能运行。(注意:此处运行“java”命令,java后只能跟文件名,不需要任何后缀,否则也会报错)该步骤详细内容,请见Java 2 (Java编程初始用)

    二、系统环境变量

    请正确配置环境变量,详细内容请见Java 0 (jdk下载安装及环境配置)

    三、代码

    排除以上两方面的问题,以及拼写错误,那问题基本就可以确定出在代码上面。

    因为我用的是notepad++,所以就直接按照运行过程直接运行了。后来发现,出现这种错误的原因是“package helloworld;”而且几乎都是它造成的。

    举例:

    package com.heima.syn;
    class HelloWorld {
        public static void main(String[] args) {
            System.out.println("大家好");
        }
    }
    package com.heima.syn;
    
    public class Demo4_Ticket {
    
        /**
         * @param args
         * 火车站卖票的例子用实现Runnable接口
         */
        public static void main(String[] args) {
            MyTicket mt = new MyTicket();
            new Thread(mt).start();
            new Thread(mt).start();
            new Thread(mt).start();
            new Thread(mt).start();
            
            /*Thread t1 = new Thread(mt);                //多次启动一个线程是非法的
            t1.start();
            t1.start();
            t1.start();
            t1.start();*/
        }
    
    }
    
    class MyTicket implements Runnable {
        private int tickets = 100;
        @Override
        public void run() {
            while(true) {
                synchronized(this) {
                    if(tickets <= 0) {
                        break;
                    }
                    try {
                        Thread.sleep(10);                //线程1睡,线程2睡,线程3睡,线程4睡
                    } catch (InterruptedException e) {
                        
                        e.printStackTrace();
                    }
                    System.out.println(Thread.currentThread().getName() + "...这是第" + tickets-- + "号票");
                }
            }
        }
    }

    错误原因:这段代码,是Eclipse自动加上的这段代码。加上似乎是错的(但为什么错误还要加呢?),另外我用的是notepad++。(如果大家认为该错误原因解释的不好,请留言,愿与诸君共勉)

    解决办法就是,将“package helloworld;”删去。再按照运行过程来一次就行了。

  • 相关阅读:
    HDU 1261 字串数(排列组合)
    Codeforces 488C Fight the Monster
    HDU 1237 简单计算器
    POJ 2240 Arbitrage
    POJ 3660 Cow Contest
    POJ 1052 MPI Maelstrom
    POJ 3259 Wormholes
    POJ 3268 Silver Cow Party
    Codesforces 485D Maximum Value
    POJ 2253 Frogger(最短路)
  • 原文地址:https://www.cnblogs.com/9587cgq/p/13136755.html
Copyright © 2011-2022 走看看