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

Java二维数组总和比较与位数统计功能实现求助

问题与代码求助

已完成两个10×10随机数组的生成与展示,需要实现以下功能:

  • 比较两个数组的元素总和,找出总和更高的数组
  • 统计每个数组中一位数、两位数、三位数的数量

现有代码如下:

import java.util.Random;

public class Main {
    static int[][] tab_1 = new int[10][10];
    static int[][] tab_2 = new int[10][10];
    static int[][] tab_wyniki = new int[10][10];
    static int[][] tab_1_sum = new int[10][10];
    
    public static void main(String[] args) {
        wypelnij_tablice(1000);
        wyswietl_tablice_1();
        wyswietl_tablice_2();
        sumuj_tablice();
        wyswietl_sume_tabli();
        suma_tabeli_1();
        wys_sum_tab_1();
        
        // 调用新增功能
        porownajSumeTablic();
        statystykaCyfr(tab_1, "第一个数组");
        statystykaCyfr(tab_2, "第二个数组");
    }

    static void wypelnij_tablice(int zakres) {
        Random r = new Random();
        for (int wiersz = 0; wiersz < 10; wiersz++) {
            for (int kolumna = 0; kolumna < 10; kolumna++) {
                tab_1[wiersz][kolumna] = r.nextInt(zakres);
                tab_2[wiersz][kolumna] = r.nextInt(zakres);
            }
        }
    }

    static void wyswietl_tablice_1() {
        System.out.println("tablica pierwsza");
        for (int wiersz = 0; wiersz < 10; wiersz++) {
            for (int kolumna = 0; kolumna < 10; kolumna++) {
                System.out.print(tab_1[wiersz][kolumna] + " , ");
            }
            System.out.println();
        }
    }

    static void wyswietl_tablice_2() {
        System.out.println("tablica druga");
        for (int wiersz = 0; wiersz < 10; wiersz++) {
            for (int kolumna = 0; kolumna < 10; kolumna++) {
                System.out.print(tab_2[wiersz][kolumna] + " , ");
            }
            System.out.println();
        }
    }

    static void sumuj_tablice() {
        for (int wiersz = 0; wiersz < 10; wiersz++) {
            for (int kolumna = 0; kolumna < 10; kolumna++) {
                tab_wyniki[wiersz][kolumna] = tab_1[wiersz][kolumna] + tab_2[wiersz][kolumna];
            }
        }
    }

    static void wyswietl_sume_tabli() {
        System.out.println("suma tablic");
        for (int wiersz = 0; wiersz < 10; wiersz++) {
            for (int kolumna = 0; kolumna < 10; kolumna++) {
                System.out.print(tab_wyniki[wiersz][kolumna] + " , ");
            }
            System.out.println();
        }
    }

    static void suma_tabeli_1() {
        for (int wiersz = 0; wiersz < 10; wiersz++) {
            for (int kolumna = 0; kolumna < 10; kolumna++) {
                tab_1_sum[wiersz][kolumna] = tab_1[wiersz][kolumna];
            }
        }
    }
    
    static void wys_sum_tab_1() {
        System.out.println("suma tabeli 1");
        for (int wiersz = 0; wiersz < 10; wiersz++) {
            for (int kolumna = 0; kolumna < 10; kolumna++) {
                System.out.print(tab_1_sum[wiersz][kolumna] + " , ");
            }
            System.out.println();
        }
    }
    
    // 计算数组总和并比较
    static void porownajSumeTablic() {
        int suma1 = obliczSumeTablicy(tab_1);
        int suma2 = obliczSumeTablicy(tab_2);
        
        System.out.println("\n数组总和比较:");
        System.out.println("第一个数组总和:" + suma1);
        System.out.println("第二个数组总和:" + suma2);
        
        if (suma1 > suma2) {
            System.out.println("第一个数组总和更高");
        } else if (suma2 > suma1) {
            System.out.println("第二个数组总和更高");
        } else {
            System.out.println("两个数组总和相等");
        }
    }
    
    // 辅助方法:计算单个二维数组的总和
    static int obliczSumeTablicy(int[][] tablica) {
        int suma = 0;
        for (int[] wiersz : tablica) {
            for (int liczba : wiersz) {
                suma += liczba;
            }
        }
        return suma;
    }
    
    // 统计数组中一位数、两位数、三位数的数量
    static void statystykaCyfr(int[][] tablica, String nazwaTablicy) {
        int jednocyfrowe = 0;
        int dwucyfrowe = 0;
        int tricyfrowe = 0;
        
        for (int[] wiersz : tablica) {
            for (int liczba : wiersz) {
                if (liczba >= 0 && liczba < 10) {
                    jednocyfrowe++;
                } else if (liczba >= 10 && liczba < 100) {
                    dwucyfrowe++;
                } else if (liczba >= 100 && liczba < 1000) {
                    tricyfrowe++;
                }
            }
        }
        
        System.out.println("\n" + nazwaTablicy + "位数统计:");
        System.out.println("一位数数量:" + jednocyfrowe);
        System.out.println("两位数数量:" + dwucyfrowe);
        System.out.println("三位数数量:" + tricyfrowe);
    }
}

新增功能说明

  • 数组总和比较:通过obliczSumeTablicy方法遍历数组计算总和,再在porownajSumeTablic中对比两个数组的总和并输出结果
  • 位数统计:statystykaCyfr方法遍历数组元素,根据数值范围判断位数并分别计数,最终输出统计结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 20:57:29