W netbeans program się normalnie kompiluje, a ręcznie juz nie

0

Mam taki problem mam program, który się normalnie kompiluje w środowisku netbeans, a poleceniem javac projekt.java nie chce i zwraca mi błędy

import projekt.Javaw;
              ^
  symbol:   class Javaw
  location: package projekt
projekt.java:21: error: cannot find symbol
        Javaw obiekt = new Javaw();
        ^
  symbol:   class Javaw
  location: class projekt
projekt.java:21: error: cannot find symbol
        Javaw obiekt = new Javaw();
                           ^
  symbol:   class Javaw
  location: class projekt
3 errors


Natomiast jak próbuje uruchmić skompilowany przez netbeans program to dostaje komunikat

Error: Could not find or load main class projekt
Nie wiem czy pokazanie kodu źródłowego coś da bo dla każdego programu, który skompiluje w konsoli poleceniem javac program.java dostaje taki sam komunikat.

Error: Could not find or load main class projekt

0

Trudno powiedzieć co tam zmajstrowałeś. Sprawdź czy klasa nazywa się na pewno tak samo jak plik w którym się znajduje (włącznie z wielkością liter).

0

Tak wygląda kod źródłowy
Plik javaw.java



package projekt;
import java.util.Scanner;
import java.util.InputMismatchException;

public class javaw {
       public   int[] wprowadz_dane() {
        Scanner iq = new Scanner(System.in);
        int ilosc = this.sprawdz();
        int[] tab = new int[ilosc];
        String wejscie;
        int tmp;
        for (int i =0;i < ilosc;i++) {
            wejscie = iq.nextLine();
            if (!this.isInt(wejscie)) {
                System.out.println("Nie podałeś liczby całkowitej");
                i--;
            }
            
            else {
                tmp  =Integer.parseInt(wejscie);
                if (tmp < 1 || tmp > 19) {
                    System.out.println("Podane liczba musi być w zakresie od 1 do 19");
                    i--;    
                }
                else {
                    tab[i] = tmp;
                }
            }

        }
       return tab; 
    }
    private int sprawdz() {
        Scanner iq = new Scanner(System.in);
        String ilosc;
        
        do {
            System.out.println("Podaj liczbę");
            ilosc = iq.nextLine();
            
        }
        while (!this.isInt(ilosc));
                //Scanner iq = new Scanner(System.in);
        //String ilosc; 
        //try {
          //  ilosc = iq.nextLine();
            
        //}
        //catch(InputMismatchException exception) {
          //      System.err.println("Podana liczba nie spełnia wymagań");
            //    ilosc = iq.nextLine();
                //exception.printStackTrace();
            //}
        return  Integer.parseInt( ilosc);
    }
   public double porownaj(int tab[]) {
        int j = tab.length - 1;
        int tmp = 0,tmp2 = 0;
        for (int i=0;i < tab.length / 2;i++) {
            tmp = tab[j] - tab[i];
            if (tmp < 0) tmp = -tmp;
            tmp2 += tmp;
            j--;
        }
        return (double)tmp2 / tab.length;
        
    }
       
public static boolean isInt(String str) {
    try {
        Integer.parseInt(str);
    } catch (NumberFormatException e) {
        return false;
    }

    return true;
}
}

plik projekt.java

package projekt;
//package Javaw;
//package Java;
import projekt.javaw;
import java.util.Scanner;




public class projekt {
    public static void main(String[] args) {
        javaw obiekt = new javaw();
        int tab2[] = obiekt.wprowadz_dane();
        double x = obiekt.porownaj(tab2);
        System.out.println(x);
        
    }


      
  
}
0

No to chyba kompilujesz coś innego bo w podanym przez ciebie kodzie masz w errorach Javaw a tutaj w kodzie masz to z małych liter jako javaw.

0
projekt.java:4: error: cannot find symbol
import projekt.javaw;
              ^
  symbol:   class javaw
  location: package projekt
projekt.java:11: error: cannot find symbol
        javaw obiekt = new javaw();
        ^
  symbol:   class javaw
  location: class projekt
projekt.java:11: error: cannot find symbol
        javaw obiekt = new javaw();
                           ^
  symbol:   class javaw
  location: class projekt
3 errors

A w netbeand działa.

0

Podaj pełne polecenia którymi kompilujesz i odpalasz kod oraz wylistuj zawartość folderu z którego odpalasz polecenia.

0

javac projekt.java kompiluj
java projekt odaplam

0

Nie podajesz classpath. Kompilator i JVM nie wiedzą gdzie szukać klas.

0

Już sobie poradziłem musiałem w netbeans zbudować plik jar klawiszem F11 i wtedy ten plik uruchmić w konsoli java -jar projekt.jar

0
pol90 napisał(a):

Już sobie poradziłem musiałem w netbeans zbudować plik jar klawiszem F11 i wtedy ten plik uruchmić w konsoli java -jar projekt.jar

No to kompilacja pełną gębą ci powiem :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1