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

Java二维数组转置程序异常求助:循环无限输入问题

嘿,我来帮你搞定这个问题——其实它不是真的无限循环,只是你的代码里有几个小细节让你产生了误解,同时还有一些逻辑上的小bug需要修复:

问题根源分析

  1. 输入提示的误导:你在每次输入循环里都打印Enter array from 1 to 9,这会让你误以为只需要输入1-9的数值各一次,但实际上你的数组是9×9的,需要连续输入81个数值,所以你会觉得程序一直在要求输入,停不下来。
  2. 无效的提前打印:在输入循环里你直接打印了myArray2[i][j],但此时myArray2还没有被赋值,它的所有元素都是默认的0,这完全是多余的输出,还会干扰你的判断。
  3. 转置后打印逻辑混乱:你当前的打印会把所有数组元素连在一起输出,没有换行或分隔,根本看不出数组的结构。

修正后的完整代码

import java.util.Scanner;

/* To demonstrate TRANSPOSE USING 2-D array */
public class Array_2ddd {
    public static void main(String args[]) {
        Scanner s1 = new Scanner(System.in);
        int i, j;
        // 如果想快速测试,可以把9改成3,只需要输入9个元素
        int myArray1[][] = new int[9][9];
        int myArray2[][] = new int[9][9];

        // 输入原始数组,优化提示信息
        System.out.println("请输入9×9数组的81个元素(每行输入9个数值):");
        for (i = 0; i < 9; i++) {
            System.out.println("正在输入第" + (i + 1) + "行的元素:");
            for (j = 0; j < 9; j++) {
                myArray1[i][j] = s1.nextInt();
            }
        }

        // 执行转置操作(这部分逻辑是对的)
        for (i = 0; i < 9; i++) {
            for (j = 0; j < 9; j++) {
                myArray2[i][j] = myArray1[j][i];
            }
        }

        // 打印原始数组,优化格式
        System.out.println("\n你输入的原始数组是:");
        for (i = 0; i < 9; i++) {
            for (j = 0; j < 9; j++) {
                System.out.print(myArray1[i][j] + "\t");
            }
            System.out.println(); // 每行结束换行,保持数组结构
        }

        // 打印转置后的数组,优化格式
        System.out.println("\n转置后的数组是:");
        for (i = 0; i < 9; i++) {
            for (j = 0; j < 9; j++) {
                System.out.print(myArray2[i][j] + "\t");
            }
            System.out.println();
        }

        s1.close(); // 关闭Scanner,避免资源泄漏
    }
}

关键修改说明

  • 清晰的输入提示:明确告诉用户需要输入的总元素数,并且按行提示,让你清楚当前输入的进度,不会误以为程序卡住。
  • 移除无效输出:删掉了输入循环中对未初始化myArray2的打印,避免干扰。
  • 格式化数组打印:用\t分隔元素、每行结束换行,让输出的数组结构一目了然,符合二维数组的直观形态。
  • 可选优化:如果不想输入81个元素测试,可以把数组大小改成3×3(所有9替换成3),这样只需要输入9个元素就能快速验证转置逻辑。

内容的提问来源于stack exchange,提问作者Smit Shah

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 10:07:00