2 Câu hỏi: Lỗi: Không thể tìm hoặc tải bài tập lớp chính5.Ass que5 [trùng lặp]

câu hỏi được tạo ra tại Thu, May 9, 2019 12:00 AM
    

Câu hỏi này đã có câu trả lời tại đây:

    

Tôi đã tạo một chương trình nhận số lượng khóa học (int) cũng như các điều kiện tiên quyết (mảng) của họ và sắp xếp thứ tự đúng mà họ nên thực hiện. Tuy nhiên, bất cứ khi nào tôi cố chạy mã này, thông báo lỗi này xuất hiện: Lỗi: Không thể tìm hoặc tải bài tập lớp chính5.Ass que5. Tôi không thể tìm ra cách khắc phục và thực sự sẽ đánh giá cao một số trợ giúp trong việc này. Cảm ơn trước

package Assignment5;

import java.util.*;

/**
 *
 * @author anon
 */
public class findOrder {

    private Stack<Vertex> vertexStack;

    public findOrder() {
        vertexStack = new Stack<>();
    }

    public static void main(String args[]) {
        int[][] arr = {{1, 0}, {2, 0}, {3, 1}, {3, 2}}; //already sent the code last night during the due date, but changed it slightly so it works a little better
        int rows1 = arr.length;

        int[][] brr = {{1, 0}};
        int rows2 = brr.length;

        int[][] crr = {{1, 0}, {2, 1}, {3, 2}, {4, 3}, {5, 4}};
        int rows3 = crr.length;

        int[][] drr = {{1, 0}, {2, 0}, {3, 1}, {2, 1}, {4, 3}, {5, 3}, {6, 4}, {6, 5}};
        int rows4 = drr.length;

        findOrder dfs1 = new findOrder();
        System.out.println(Arrays.toString(dfs1.findOrder(4, arr)));

        findOrder dfs2 = new findOrder();
        System.out.println(Arrays.toString(dfs2.findOrder(2, brr)));

        findOrder dfs3 = new findOrder();
        System.out.println(Arrays.toString(dfs3.findOrder(6, crr)));

        findOrder dfs4 = new findOrder();
        System.out.println(Arrays.toString(dfs4.findOrder(7, drr)));

    }

    private class Vertex {

        int number;
        boolean visited;
        List<Vertex> neighbours;

        public Vertex(int number) {
            this.number = number;
            this.neighbours = new ArrayList<>();
        }

        public int getNumber() {
            return number;
        }

        public void setVisited(boolean visited) {
            this.visited = visited;
        }

        public void addneighbours(Vertex neighbourVertex) {
            this.neighbours.add(neighbourVertex);
        }

        public List<Vertex> getNeighbours() {
            return neighbours;
        }

        public void setNeighbours(List<Vertex> neighbours) {
            this.neighbours = neighbours;
        }

    }

    public void toplogicalSort(Vertex vertex) {
        List<Vertex> neighbours = vertex.getNeighbours();
        for (int i = 0; i < neighbours.size(); i++) {
            Vertex vertexToGo = neighbours.get(i);
            if (vertexToGo != null && !vertexToGo.visited) {
                toplogicalSort(vertexToGo);
                vertexToGo.setVisited(true);
            }
        }
        vertexStack.push(vertex);
    }

    public int[] findOrder(int numCourses, int[][] prerequisites) {
        int[][] adjacentyMatrix = new int[numCourses][numCourses];

        Vertex[] list = new Vertex[numCourses];

        for (int i = 0; i < numCourses; i++) {
            list[i] = new Vertex(i);
        }
        for (int i = 0; i < prerequisites.length; i++) {
            list[prerequisites[i][1]].addneighbours(list[prerequisites[i][0]]);
        }

        toplogicalSort(list[0]);

        int[] answer = new int[numCourses];

        int j = 0;
        for (int i = answer.length - 1; i >= 0; i--) {
            answer[j++] = vertexStack.get(i).getNumber();
        }
        return answer;

    }
}
    
0
  1. Hai điều: A) chỉ sử dụng các thẻ có liên quan. Trình chỉnh sửa của bạn không có liên quan đến câu hỏi và B) trong tên lớp java luôn luôn là UpperCase.
    2019-05-09 05: 29: 53Z
2 Câu trả lời                              2                         

Thay đổi tên tệp java Assign5.java của bạn thành tệp findOrder.java. Nếu bạn muốn giữ tên tệp là Assign5.java thì hãy thay thế nó bằng thay đổi mã bên dưới.

import java.util.*;

/**
 *
 * @author anon
 */
public class Assignment5 {

    private Stack<Vertex> vertexStack;

    public Assignment5() {
        vertexStack = new Stack<>();
    }

    public static void main(String args[]) {
        int[][] arr = {{1, 0}, {2, 0}, {3, 1}, {3, 2}}; //already sent the code last night during the due date, but changed it slightly so it works a little better
        int rows1 = arr.length;

        int[][] brr = {{1, 0}};
        int rows2 = brr.length;

        int[][] crr = {{1, 0}, {2, 1}, {3, 2}, {4, 3}, {5, 4}};
        int rows3 = crr.length;

        int[][] drr = {{1, 0}, {2, 0}, {3, 1}, {2, 1}, {4, 3}, {5, 3}, {6, 4}, {6, 5}};
        int rows4 = drr.length;

        Assignment5 dfs1 = new Assignment5();
        System.out.println(Arrays.toString(dfs1.findOrder(4, arr)));

        Assignment5 dfs2 = new Assignment5();
        System.out.println(Arrays.toString(dfs2.findOrder(2, brr)));

        Assignment5 dfs3 = new Assignment5();
        System.out.println(Arrays.toString(dfs3.findOrder(6, crr)));

        Assignment5 dfs4 = new Assignment5();
        System.out.println(Arrays.toString(dfs4.findOrder(7, drr)));

    }

    private class Vertex {

        int number;
        boolean visited;
        List<Vertex> neighbours;

        public Vertex(int number) {
            this.number = number;
            this.neighbours = new ArrayList<>();
        }

        public int getNumber() {
            return number;
        }

        public void setVisited(boolean visited) {
            this.visited = visited;
        }

        public void addneighbours(Vertex neighbourVertex) {
            this.neighbours.add(neighbourVertex);
        }

        public List<Vertex> getNeighbours() {
            return neighbours;
        }

        public void setNeighbours(List<Vertex> neighbours) {
            this.neighbours = neighbours;
        }

    }

    public void toplogicalSort(Vertex vertex) {
        List<Vertex> neighbours = vertex.getNeighbours();
        for (int i = 0; i < neighbours.size(); i++) {
            Vertex vertexToGo = neighbours.get(i);
            if (vertexToGo != null && !vertexToGo.visited) {
                toplogicalSort(vertexToGo);
                vertexToGo.setVisited(true);
            }
        }
        vertexStack.push(vertex);
    }

    public int[] findOrder(int numCourses, int[][] prerequisites) {
        int[][] adjacentyMatrix = new int[numCourses][numCourses];

        Vertex[] list = new Vertex[numCourses];

        for (int i = 0; i < numCourses; i++) {
            list[i] = new Vertex(i);
        }
        for (int i = 0; i < prerequisites.length; i++) {
            list[prerequisites[i][1]].addneighbours(list[prerequisites[i][0]]);
        }

        toplogicalSort(list[0]);

        int[] answer = new int[numCourses];

        int j = 0;
        for (int i = answer.length - 1; i >= 0; i--) {
            answer[j++] = vertexStack.get(i).getNumber();
        }
        return answer;

    }
}
    
0
2019-05-09 04: 52: 43Z
  1. Tên dự án?
    2019-05-09 04: 49: 14Z
  2. Không chỉ tên tệp.
    2019-05-09 04: 50: 20Z
  3. Tên tệp phải giống với tên lớp.
    2019-05-09 04: 52: 04Z
  4. Vui lòng xem câu trả lời được chỉnh sửa.
    2019-05-09 04: 53: 04Z
  5. Nếu nó hoạt động thì hãy chấp nhận câu trả lời của tôi.
    2019-05-09 04: 56: 19Z

Nếu câu trả lời của Dhaval không phù hợp với bạn, hãy thử chọn lớp chính trong thuộc tính dự án. Cách bạn làm điều đó sẽ phụ thuộc vào IDE.

Ví dụ:

  • Trong Intellij, Nhấp chuột phải vào tệp lớp trong trình thám hiểm dự án và chọn "chạy findorder.main ()".
  • Trong NetBeans, nhấp chuột phải vào dự án và chọn thuộc tính, sau đó từ tab "Chạy", chọn tên của lớp của bạn (Assign5.findorder) làm "Lớp chính:" - bạn có thể sử dụng nút duyệt để giúp nhập đúng tên lớp và gói.
  • Trong Eclipse, bạn có thể chọn bất cứ thứ gì trong tệp nguồn của lớp và nhấp vào dấu hiệu chạy. Một cách khác là nhấp vào mũi tên bên cạnh dấu hiệu chạy và sau đó nhấp vào Chạy Cấu hình. Sau này, bạn có thể tạo cấu hình chạy mới với lớp chính được chỉ định.
  • Các công cụ khác chắc chắn sẽ có các phương pháp khác.

Đây là hộp thoại thuộc tính dự án NetBeans hiển thị tab chạy.

 Lựa chọn lớp chính trong NetBeans

Trong ví dụ của tôi, gói là "hexdump" và lớp chứa phương thức chính là "HexDumpWithFilter".

    
0
2019-05-09 05: 27: 10Z
nguồn đặt đây