我有一个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