You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Scanner输入的X、Y坐标查找指定二维数组中的值?

用Java实现二维数组坐标查找功能

没问题,我帮你搞定这个需求!下面是完整的可运行代码,包含了Scanner输入坐标、边界校验以及对应值的查找逻辑:

import java.util.Scanner;

public class GridValueLookup {
    public static void main(String[] args) {
        // 定义你的网格数组
        int[][] grid = {
            {1,1,1,1,1,1,1,1,1,1,1,1,1},
            {1,0,1,1,1,0,1,0,0,0,0,0,1},
            {1,0,1,0,0,0,1,0,1,1,1,0,1},
            {1,0,0,0,1,1,1,0,0,0,0,0,1},
            {1,0,1,0,1,1,1,0,1,0,1,0,1},
            {1,0,0,0,0,0,0,0,0,0,1,0,1},
            {1,1,1,1,1,1,1,1,1,1,1,1,1}
        };

        Scanner scanner = new Scanner(System.in);

        // 提示用户输入坐标,这里明确说明:Y是行索引,X是列索引
        System.out.print("请输入Y坐标(行号,范围0-6):");
        int y = scanner.nextInt();
        System.out.print("请输入X坐标(列号,范围0-12):");
        int x = scanner.nextInt();

        // 边界检查,避免数组越界异常
        if (y >= 0 && y < grid.length && x >= 0 && x < grid[y].length) {
            int value = grid[y][x];
            System.out.printf("坐标(Y:%d, X:%d)对应的值是:%d%n", y, x, value);
        } else {
            System.out.println("输入的坐标超出网格范围!请检查后重新输入。");
        }

        scanner.close();
    }
}

关键说明:

  • 二维数组在Java中是grid[行][列]的结构,所以我这里把Y对应行索引,X对应列索引,你可以根据自己的习惯调整,但一定要保持输入和数组访问的对应关系一致。
  • 加入了边界校验,这很重要!如果用户输入的坐标超出数组的行/列范围,会直接抛出ArrayIndexOutOfBoundsException,提前判断可以避免程序崩溃,同时给用户友好提示。
  • 代码里标注了坐标的有效范围(Y:0-6,X:0-12),因为你的grid数组有7行(索引0到6),每行13列(索引0到12)。

内容的提问来源于stack exchange,提问作者Charitha.R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:12:32