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

Java数组构建求助:实现奇数列存1、偶数列存0

解决你的Java二维数组赋值问题

嘿,这个小问题很容易搞定!我看你已经写了大部分代码,只是逻辑判断有点小偏差,而且else块没写完。咱们一步步来修正:

首先明确需求:奇数列存1,偶数列存0。这里要注意Java数组的索引是从0开始的,得先理清“列数”对应的索引逻辑:

  • 如果你的“奇数列”是指日常计数的第1、3、5列(从1开始数),那对应的数组索引是0、2、4(偶数索引),这些位置要存1;
  • 如果你的“奇数列”是指索引为奇数的列(比如j=1、3),那这些位置存1,偶数索引存0。

看你当前的代码,你写了if(x%2 == 0){a[i][j] = 0;},这说明你可能把索引和实际列数搞反了。咱们先按照“日常计数的奇数列存1”来修正,同时补全代码:

修正后的完整代码

import java.util.Scanner;
public class TestArray2 {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        int [][] a = new int[5][5];
        for(int i=0; i<a.length;i++){
            for(int j=0;j<a[0].length;j++){
                // 奇数列(从1开始计数)对应索引j为偶数(0、2、4),赋值1
                if(j % 2 == 0){
                    a[i][j] = 1;
                } else {
                    // 偶数列(从1开始计数)对应索引j为奇数(1、3),赋值0
                    a[i][j] = 0;
                }
            }
        }

        // 新增打印代码,验证数组结果是否符合预期
        for(int i=0; i<a.length;i++){
            for(int j=0;j<a[0].length;j++){
                System.out.print(a[i][j] + " ");
            }
            System.out.println();
        }
    }
}

关键修正点

  • 调整了判断逻辑:原来的if条件把值设反了,现在改成偶数索引(对应第1、3、5列)存1,奇数索引存0;
  • 补全了else块的代码,给偶数列赋值0;
  • 额外加了一段打印代码,方便你直观验证数组的结果是否符合需求。

如果你的“奇数列”是指索引为奇数的列(比如j=1、3),那只需要把判断条件反过来即可:

if(j % 2 != 0){
    a[i][j] = 1;
} else {
    a[i][j] = 0;
}

这样就能完美实现你的需求啦!

内容的提问来源于stack exchange,提问作者Gin Oakain

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:26:34