Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.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 为了在Intellij IDEA上运行代码,有没有办法解决描述中提到的问题?_Java - Fatal编程技术网

Java 为了在Intellij IDEA上运行代码,有没有办法解决描述中提到的问题?

Java 为了在Intellij IDEA上运行代码,有没有办法解决描述中提到的问题?,java,Java,它说,“从未使用过‘实践’类”和“从未使用过‘maxAreaOfIsland(int[][])方法”,并添加了“Typo:In word‘trav’”。输出应该是数字6,但由于上述问题,它永远无法到达。为了生成输出,我正在尝试修复该问题。代码是从leetcode.com借用的。它可以在该网站的java编译器中工作,但不能在Intellij IDEA中工作 class Practice { private int n, m; public int maxAreaOfIsland(int[][] g

它说,“从未使用过‘实践’类”和“从未使用过‘maxAreaOfIsland(int[][])方法”,并添加了“Typo:In word‘trav’”。输出应该是数字6,但由于上述问题,它永远无法到达。为了生成输出,我正在尝试修复该问题。代码是从leetcode.com借用的。它可以在该网站的java编译器中工作,但不能在Intellij IDEA中工作

class Practice {
private int n, m;
public int maxAreaOfIsland(int[][] grid) {
    int ans = 0;
    n = grid.length;
    m = grid[0].length;
    for (int i = 0; i < n; i++)
        for (int j = 0; j < m; j++)
            if (grid[i][j] > 0) ans = Math.max(ans, trav(i, j, grid));
    return ans;
}
private int trav(int i, int j, int[][] grid) {
    if (i < 0 || j < 0 || i >= n || j >= m || grid[i][j] < 1) return 0;
    grid[i][j] = 0;
    return 1 + trav(i-1, j, grid) + trav(i, j-1, grid) + trav(i+1, j, grid) + trav(i, j+1, grid);
}

public static void main(String[] args){
    int value;
    Practice example = new Practice();
    int[][] yourGrid = {{0,0,1,0,0,0,0,1,0,0,0,0,0},{0,0,0,0,0,0,0,1,1,1,0,0,0},{0,1,1,0,1,0,0,0,0,0,0,0,0},{0,1,0,0,1,1,0,0,1,0,1,0,0},{0,1,0,0,1,1,0,0,1,1,1,0,0},{0,0,0,0,0,0,0,0,0,0,1,0,0},{0,0,0,0,0,0,0,1,1,1,0,0,0},{0,0,0,0,0,0,0,1,1,0,0,0,0}};
    value = example.maxAreaOfIsland(yourGrid);
    System.out.println(value);
}
课堂实践{
私有整数n,m;
公共int MAXAREOFILAND(int[][]网格){
int ans=0;
n=网格长度;
m=网格[0]。长度;
对于(int i=0;i0)ans=Math.max(ans,trav(i,j,grid));
返回ans;
}
专用int trav(int i、int j、int[][]网格){
如果(i<0 | j<0 | i>=n | j>=m | grid[i][j]<1)返回0;
网格[i][j]=0;
返回1+trav(i-1,j,grid)+trav(i,j-1,grid)+trav(i+1,j,grid)+trav(i,j+1,grid);
}
公共静态void main(字符串[]args){
int值;
实践范例=新实践();
3.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0{0,0,0,0,0,0,0,1,1,0,0,0,0},{0,0,0,0,0,1,1,0,0,0,0,0};
value=example.maxareaofiland(您的网格);
系统输出打印项次(值);
}

}

根据更新/评论:

工作示例如下:

class Practice {
    private int n, m;
    public int maxAreaOfIsland(int[][] grid) {
        int ans = 0;
        n = grid.length;
        m = grid[0].length;
        for (int i = 0; i < n; i++)
            for (int j = 0; j < m; j++)
                if (grid[i][j] > 0) ans = Math.max(ans, trav(i, j, grid));
        return ans;
    }
    private int trav(int i, int j, int[][] grid) {
        if (i < 0 || j < 0 || i >= n || j >= m || grid[i][j] < 1) return 0;
        grid[i][j] = 0;
        return 1 + trav(i-1, j, grid) + trav(i, j-1, grid) + trav(i+1, j, grid) + trav(i, j+1, grid);
    }
    
    public static void main(String[] args){
        Practice example = new Practice();
        int[][] yourGrid = {{0,0,1,0,0,0,0,1,0,0,0,0,0},{0,0,0,0,0,0,0,1,1,1,0,0,0},{0,1,1,0,1,0,0,0,0,0,0,0,0},{0,1,0,0,1,1,0,0,1,0,1,0,0},{0,1,0,0,1,1,0,0,1,1,1,0,0},{0,0,0,0,0,0,0,0,0,0,1,0,0},{0,0,0,0,0,0,0,1,1,1,0,0,0},{0,0,0,0,0,0,0,1,1,0,0,0,0}};
        example.maxAreaOfIsland(yourGrid);
    }
}
课堂实践{
私有整数n,m;
公共int MAXAREOFILAND(int[][]网格){
int ans=0;
n=网格长度;
m=网格[0]。长度;
对于(int i=0;i0)ans=Math.max(ans,trav(i,j,grid));
返回ans;
}
专用int trav(int i、int j、int[][]网格){
如果(i<0 | j<0 | i>=n | j>=m | grid[i][j]<1)返回0;
网格[i][j]=0;
返回1+trav(i-1,j,grid)+trav(i,j-1,grid)+trav(i+1,j,grid)+trav(i,j+1,grid);
}
公共静态void main(字符串[]args){
实践范例=新实践();
3.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0{0,0,0,0,0,0,0,1,1,0,0,0,0},{0,0,0,0,0,1,1,0,0,0,0,0};
示例.maxareaofiland(您的网格);
}
}

(注意:注释/更新中已经提到了解释)

您的课程
练习如何运行?你是怎么运作的?你能描述一下吗?
main
方法在哪里?准确地说。没有主管道。我也想知道它是如何在leetcode.com java编译器上运行的,而不是在Intellij IDEA上运行的?您似乎是一个初学者。您的项目中应该有另一个main类,该类的main方法为
publicstaticvoidmain(String[]args){…}
,您需要在该主方法中创建实践类的实例
Practice example=new Practice()
然后使用实例
example.maxAreaOfIsland(yourGrid)调用您的方法
,否则可以将Practice设置为公共类
公共类Practice
,并直接调用方法
Practice.maxAreaOfIsland(grid)@sorifiend是正确的。我正在浏览你的个人资料,我看到你已经问了一个关于Java的问题并接受了答案。看看你自己的问题,有一个
main
方法,这是Java中任何程序的入口点。我希望它能帮助你理解这个问题。如果您仍然感到困惑,请在评论中告诉我。