-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