Java 为了在Intellij IDEA上运行代码,有没有办法解决描述中提到的问题?
它说,“从未使用过‘实践’类”和“从未使用过‘maxAreaOfIsland(int[][])方法”,并添加了“Typo:In word‘trav’”。输出应该是数字6,但由于上述问题,它永远无法到达。为了生成输出,我正在尝试修复该问题。代码是从leetcode.com借用的。它可以在该网站的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
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中任何程序的入口点。我希望它能帮助你理解这个问题。如果您仍然感到困惑,请在评论中告诉我。