我有一個java的任務是要求一個代碼,告訴用戶輸入一個點(行和列或x和y)和程序輸出所有可能的移動棋的騎士。如果語句產生亂碼輸出
package datastructureass1;
import java.util.Scanner;
public class DataStructureAss1 {
public static void main(String[] args) {
Scanner cin = new Scanner (System.in);
int knight[][]= new int [7][7];
System.out.println("Please enter the knight's position starting with rows followed by columns");
int i=cin.nextInt();
int j=cin.nextInt();
i=i+2;
j=j+1;
if (i<=8&&j<=8)
System.out.println("{"+knight[i]+","+knight[j]+"}");
i= i+2;
j=j-1;
if (i<=8&&j<=8);
System.out.println("{"+knight[i]+","+knight[j]+"}");
i= i-2;
j=j+1;
if (i<=8&&j<=8);
System.out.println("{"+knight[i]+","+knight[j]+"}");
i= i-2;
j=j-1;
if (i<=8&&j<=8);
System.out.println("{"+knight[i]+","+knight[j]+"}");
i= i+1;
j=j+2;
if (i<=8&&j<=8);
System.out.println("{"+knight[i]+","+knight[j]+"}");
i= i+1;
j=j-2;
if (i<=8&&j<=8);
System.out.println("{"+knight[i]+","+knight[j]+"}");
i= i-1;
j=j+2;
if (i<=8&&j<=8);
System.out.println("{"+knight[i]+","+knight[j]+"}");
i= i-1;
j=j-2;
if (i<=8&&j<=8);
System.out.println("{"+knight[i]+","+knight[j]+"}");
}
}
當我在NetBeans中運行這個它給了我這樣的輸出:
{[[email protected],[[email protected]}
{[[email protected],[[email protected]}
{[[email protected],[[email protected]}
{[[email protected],[[email protected]}
{[[email protected],[[email protected]}
{[[email protected],[[email protected]}
{[[email protected],[[email protected]}
它沒有任何意義,我不知道我做錯了什麼在我的代碼!
你指向一個數組而不是數組索引....使用騎士[i] [j] – Rishi
這是怎麼得到upvote? – shmosel