有没有大佬能帮我看看这题我错哪了

这是题目:这是我的代码:

这是运行结果:

错误原因他就写的答案错误

第一次发帖。。。

希望大佬能看看

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int M = in.nextInt();
        int[] x = new int[3];
        int z,t;
        for (int i = 0; i < M; i++) {
            x[i] = in.nextInt();
        }
        for (int i = 0; i < M; i++) {
            int judge=1;
            for (int j = 1; j < 10; j++) {
                z=j*x[i]*x[i];

                if(x[i]>99 && x[i]<1000)
                {
                    t=z%1000;
                }else if (x[i]>9 && x[i]<100){
                    t=z%100;
                }
                else{
                    t=z%10;
                }
                if(t==x[i])
                {
                    judge=0;
                    System.out.println(j+" "+z);
                    break;
                }
            }
            if(judge==1){
                System.out.println("No");
            }
        }
    }
}
 

把你代码贴出来,不然没办法给你调试。

第八行数组长度应该说M,如果输入的M大于3,循环输入的时候会越界

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632