简体   繁体   中英

Java – “Error: Could not find or load main class” Error

the error and the class http://puu.sh/1ITnS.png

When I name the class file Main.class, java says it has the wrong name, and when I name it shop.Main.class it says that the main class can't be found. Can anyone help?

package shop;

import java.text.DecimalFormat;

public class Main
{  
    public static void main(String args[])
    {  
        Cart cart = new Cart(new Catalogue());
        printOrder(cart);
    }

    public static void printOrder(Cart cart)
    {
        DecimalFormat df = new DecimalFormat("0.00");
        System.out.println("Your order:");
        for(int itemIndex = 0; itemIndex < cart.itemsInCart.products.size(); 
            itemIndex++)
            if (cart.itemsInCart.products.get(itemIndex).quantity != 0)
                System.out.println(cart.itemsInCart.products.get(itemIndex).quantity 
                    + " " + cart.itemsInCart.products.get(itemIndex).name 
                    + " $"+ df.format(cart.itemsInCart.products.get(itemIndex).price) 
                    + " = $" + df.format
                    ((cart.itemsInCart.products.get(itemIndex).quantity 
                    * cart.itemsInCart.products.get(itemIndex).price)));

        double subtotal = 0;
        int taxPercent = 20;
        double tax;
        double total;

        for(int itemIndex = 0; itemIndex < cart.itemsInCart.products.size(); 
            itemIndex++)
            subtotal += cart.itemsInCart.products.get(itemIndex).quantity 
            * cart.itemsInCart.products.get(itemIndex).price;
        tax = subtotal * taxPercent / 100;
        total = subtotal + tax;


        System.out.print("Subtotal: $" + df.format(subtotal) 
            + " Tax @ " + taxPercent + "%: $" + df.format(tax) 
            + " Grand Total: $" + df.format(total));
    }  
}

Ignore between the following two lines

–––––––––––––––––––––––––

Edit Summary

Oops! Your edit couldn't be submitted because:

Your post does not have much context to explain the code sections; please explain your scenario more clearly.

cancel

––––––––––––––––––––––---

Execute these commands:

cd ..
java shop.Main

You can't run java code from inside a package you are trying to reference.

保持Main.class并尝试java shop.Main来自java文件夹中的命令行

compile: ~/java> javac shop/Main.java

run: ~/java> java shop.Main

You should be careful to place classes in correct folders if compiling manually (package name equals folder name on disk). I recommend using an IDE (Eclipse and Netbeans are both good and free choices).

Your example will work if you place Main.class in folder called "shop" and then from project root folder execute "java shop/Main"

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM