Ошибка получения — не удалось найти или загрузить основной класс makingachange.Main в NetBeans

#java #netbeans

#java #netbeans

Вопрос:

Я получаю эту ошибку — Не удалось найти или загрузить основной класс makingachange.Main всякий раз, когда я пытаюсь запустить программу, я не понимаю, почему она показывает мне эту ошибку, поскольку я действительно новичок в Java. Может кто-нибудь, пожалуйста, помочь мне в попытке исправить это:

 import java.util.Scanner;  
package makingachange;

public class Main {
    private int[] denom;
    Main( int[] denom) {
        this.denom = denom;
    }
    void giveChange(int changeRs) {
        System.out.println("nChange for "   changeRs   " in Rs "   ":");
        for(int i = 0; i < denom.length;   i) { int nb = changeRs / denom[i]; if(nb > 0)
                System.out.println(nb   " "   denom[i]);
            changeRs %= denom[i];
        }
    }
    public static void main(String[] args) {
                 int[] Rs = {100,50,20,10,5,1};
                Scanner input=new Scanner(System.in);
                System.out.println("Enter the purchase amount : ");
                int purchaseAmount=input.nextInt();
                System.out.println("Enter the amount given by customer : ");
                int AmountGivenByCusto=input.nextInt();
                if(AmountGivenByCusto<purchaseAmount){
                    System.out.println("Sorry! you paid less than purchase amount!  ");
                }else
{
                int result=AmountGivenByCusto-purchaseAmount;
        Main change1 = new Main( Rs);
        change1.giveChange(result);
                }
    }
}
  

Ответ №1:

Сначала возникает ошибка

package оператор должен быть первым, поэтому он должен быть таким

 package makingachange;
import java.util.Scanner;  
  

затем вам нужно сначала сгенерировать пакет

 javac -d . Main.java

java  makingchange/Main.java
  

-d имеется в виду создать пакет

. имеется в виду сгенерировать, используя путь к текущему каталогу для генерации пакета

Ответ №2:

Убедитесь, что определение пакета написано перед импортом java.util.Scanner . Дважды проверьте, имеет ли пакет в вашей рабочей области точно такое же имя, что и пакет, который вы определяете в своем классе (так в данном случае: makingachange ).

Следующий код работает для меня.

 package makingachange;
import java.util.Scanner;

public class Main {
    private int[] denom;

    Main(int[] denom) {
        this.denom = denom;
    }

    void giveChange(int changeRs) {
        System.out.println("nChange for "   changeRs   " in Rs "   ":");
        for (int i = 0; i < denom.length;   i) {
            int nb = changeRs / denom[i];
            if (nb > 0)
                System.out.println(nb   " "   denom[i]);
            changeRs %= denom[i];
        }
    }

    public static void main(String[] args) {
        int[] Rs = { 100, 50, 20, 10, 5, 1 };
        Scanner input = new Scanner(System.in);
        System.out.println("Enter the purchase amount : ");
        int purchaseAmount = input.nextInt();
        System.out.println("Enter the amount given by customer : ");
        int AmountGivenByCusto = input.nextInt();
        if (AmountGivenByCusto < purchaseAmount) {
            System.out.println("Sorry! you paid less than purchase amount!  ");
        } else {
            int result = AmountGivenByCusto - purchaseAmount;
            Main change1 = new Main(Rs);
            change1.giveChange(result);
        }
    }
}