-2
我想创建一个给定的矩阵从单元格(n,m)= F(n,m)到F(1,1)规则:具有最高值的单元格将该单元格放入1,并且我们将指针移动到该单元格,如果存在一条平铺线,则将0放入未选中的单元格中。重复直到单元格(1,1),然后打印采取的路径。 我试过将& &更改为||在while循环中,但只是给了我一个错误,没有改变输出。输出被取 路径 (4,4) (3,4) (3,3) (3,2) (3,1)虽然循环映射的路径认为2矩阵早期结束
输出应采取 路径 (4- ,4) (3,4) (3,3) (3,2) (3,1) (2,1) (1,1)有什么建议吗?
public class JavaApplication6 {
/**
* @param i
* @param j
*/
public static void paste(int i,int j){
System.out.println("("+i+","+j+")");
}
public static void main(String[] args) {
System.out.println("path taken");
int[][] F =
{{0,0,50,150},
{100,200,700,900},
{600,1650,1200,1250},
{1100,1200,1200,1250}};
int rowLen = 4;
int columnLen = 4;
int i=rowLen-1;
int j=columnLen-1;
paste(i+1,j+1);
while(i!=0&&j!=0){
if(F[i-1][j]>F[i][j-1]){
i=i-1;
paste(i+1,j+1);
}
else if(F[i-1][j]<F[i][j-1]){
j=j-1;
paste(i+1,j+1);
}
else if(F[i-1][j]==F[i][j-1]){
j=j-1;
paste(i+1,j+1);
}
}
}}
是:使用的变量名意味着什么。 F是'F'? – GhostCat
寻求调试帮助的问题(“为什么这个代码不工作?”)必须包含所需的行为,特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者无益。请参阅:如何创建[mcve]。使用“编辑”链接来改善你的*问题* - 不要通过评论添加更多信息。谢谢! – GhostCat
像在:程序应该做什么? – GhostCat