Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java编译时错误非静态变量无法从静态上下文引用此变量_Java - Fatal编程技术网

Java编译时错误非静态变量无法从静态上下文引用此变量

Java编译时错误非静态变量无法从静态上下文引用此变量,java,Java,我在hackerrank中编译这段关于图论的代码时遇到了麻烦,它似乎在其他地方工作,我不知道如何修复它。我需要找出图的所有顶点是否都是连通的。如果是,我想打印1,如果不是0。我被这个错误困住了,似乎找不到解决的办法。如果有人能帮我解决这个问题,我将非常高兴 import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; import java.util.LinkedList; public

我在hackerrank中编译这段关于图论的代码时遇到了麻烦,它似乎在其他地方工作,我不知道如何修复它。我需要找出图的所有顶点是否都是连通的。如果是,我想打印1,如果不是0。我被这个错误困住了,似乎找不到解决的办法。如果有人能帮我解决这个问题,我将非常高兴

import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
import java.util.LinkedList;
public class Solution {

class CheckUndirectedDisconnectedGraph {
        class Graph{
        int vertices;
        LinkedList<Integer> adjList [];

        public Graph(int vertices){
            this.vertices = vertices;
            adjList = new LinkedList[vertices];
            for (int i = 0; i <vertices ; i++) {
                adjList[i] = new LinkedList<>();
            }
        }

        public void addEdge(int source, int destination){
            adjList[source].addFirst(destination);
            adjList[destination].addFirst(source);
        }
    }

    public void isConnected(Graph graph){

        int vertices = graph.vertices;
        LinkedList<Integer> adjList [] = graph.adjList;

        boolean[] visited = new boolean[vertices];

        DFS(0, adjList, visited);

        int count = 0;
        for (int i = 0; i <visited.length ; i++) {
            if(visited[i])
                count++;
        }
        if(vertices==count){
            System.out.println(1);
        }else{
            System.out.println(0);
        }
    }

    public void DFS(int source, LinkedList<Integer> adjList [], boolean[] visited){

        visited[source] = true;

        for (int i = 0; i <adjList[source].size() ; i++) {
            int neighbor = adjList[source].get(i);
            if(visited[neighbor]==false){
                DFS(neighbor, adjList, visited);
            }
        }
    }

    public static void main(String[] args) {
        Graph graph = new Graph(6);
        graph.addEdge(5,4);
        graph.addEdge(1,2);
        graph.addEdge(1,3);
        graph.addEdge(2,4);
        graph.addEdge(3,4);

        CheckUndirectedDisconnectedGraph c = new CheckUndirectedDisconnectedGraph();
        c.isConnected(graph);
    }

}
} 

使内部类
检查无向断开连接图
静态:
静态类图
静态类检查无向断开连接图

然后,通过
new Solution.CheckUndirectedDisconnectedGraph.Graph(6)


您还应该将主方法移动到
解决方案下
类下生成内部类
检查无向断开图
静态:
静态类图
静态类检查无向断开图

然后,通过
new Solution.CheckUndirectedDisconnectedGraph.Graph(6)


您还应该将main方法移动到
解决方案

解决方案下。java:62:error:non static variable这不能从静态上下文图中引用=新图(6);Solution.java:69:错误:非静态变量无法从静态上下文中引用此CheckUndirectedDisconnectedGraph c=new CheckUndirectedDisconnectedGraph();^Solution.java:61:错误:内部类Solution.CheckUndirectedDisconnectedGraph公共静态void main(字符串[]args)中的静态声明非法{修饰符'static'仅允许在常量变量声明中用于添加错误sorrySolution。java:62:error:non-static variable无法从静态上下文图Graph=new Graph(6)引用此修饰符;Solution.java:69:error:non-static变量无法从静态上下文CheckUndirectedDisconnectedGraph c=new CheckUndirectedDisconnectedGraph()引用此变量;^Solution.java:61:错误:内部类解决方案中的静态声明非法。CheckUndirectedDisconnectedGraph公共静态void main(字符串[]args){修饰符'static'只允许在常量变量声明中添加错误,所以我得到这个错误…解决方案。java:10:error:modifier static此处不允许静态类图{^Note:Solution.java使用未经检查或不安全的操作。注意:使用-Xlint:unchecked重新编译以获取详细信息。1错误刚刚编辑了我的帖子,我误读了类结构。您还应该避免使用嵌套类,除非您有充分的理由使用它们。然后,我会收到此错误…解决方案。java:10:错误:修饰符static not allowed here静态类图{^Note:Solution.java使用未经检查或不安全的操作。注意:使用-Xlint:unchecked重新编译以获取详细信息。1错误刚刚编辑了我的帖子,我误读了类结构。您还应该避免使用嵌套类,除非您有充分的理由使用它们。
Solution.java:62: error: non-static variable this cannot be referenced from a static context Graph graph = new Graph(6); Solution.java:69: error: non-static variable this cannot be referenced from a static context CheckUndirectedDisconnectedGraph c = new CheckUndirectedDisconnectedGraph(); ^ Solution.java:61: error: Illegal static declaration in inner class Solution.CheckUndirectedDisconnectedGraph public static void main(String[] args) { modifier 'static' is only allowed in constant variable declarations