Java 如何将数组划分为组?

Java 如何将数组划分为组?,java,Java,我如何将数组划分为四分之一? 例如,我想让用户输入12个值。然后,将它们分成4个季度,并将每个季度的值相加。我想了一下如何把它们全部加起来,但我一直在想如何把它们分组单独加起来。 多谢各位 import java.util.Scanner; import java.util.stream.*; public class SalesData { public static void main(String[] args) { Scanner keyboard = new

我如何将数组划分为四分之一? 例如,我想让用户输入12个值。然后,将它们分成4个季度,并将每个季度的值相加。我想了一下如何把它们全部加起来,但我一直在想如何把它们分组单独加起来。 多谢各位

import java.util.Scanner;
import java.util.stream.*;

public class SalesData {
    public static void main(String[] args) {

        Scanner keyboard = new Scanner(System.in);
        int[] salesData = new int[12];

            int monthNumber=1;
            for (int i = 0; i < 12; i++) {
                System.out.println("Please enter the data for month "+monthNumber);
                salesData[i] = keyboard.nextInt();
                int newNumber=monthNumber++;
            }

            System.out.println("The first quarter total is ");
            System.out.println("The second quarter total is ");
            System.out.println("The third quarter total is ");
            System.out.println("The fourth quarter total is ");

        double sum = IntStream.of(salesData).sum();
            System.out.println("The Annual Sales Total is "+sum);

        }//end main
    }`
import java.util.Scanner;
导入java.util.stream.*;
公共类销售数据{
公共静态void main(字符串[]args){
扫描仪键盘=新扫描仪(System.in);
int[]salesData=新int[12];
int monthNumber=1;
对于(int i=0;i<12;i++){
System.out.println(“请输入月份数据”+月份编号);
salesData[i]=keyboard.nextInt();
int newNumber=monthNumber++;
}
System.out.println(“第一季度总额为”);
System.out.println(“第二季度总计为”);
System.out.println(“第三季度总计为”);
System.out.println(“第四季度总计为”);
double sum=IntStream.of(salesData).sum();
System.out.println(“年度销售总额为”+总和);
}//端干管
}`
字符串[]四分之一={“第一”、“第二”、“第三”、“第四”};
对于(int i=0;i<12;i+=3)
System.out.printf(“第%s个季度总计为%d%n”,
宿舍[i/3],
stream(salesData,i,i+3.sum());

您走在正确的轨道上,您已经知道您需要的所有部件

  • 您知道如何声明固定大小的数组(12)
  • 您知道如何编写for循环
  • 您知道如何使用for循环计数器索引数组
  • 所以如果我想做第一节

    int firstQuarter = 0;
    for (int i = 0; i < 3; i++)
    {
      firstQuarter = firstQuarter + salesData[i];
    }
    System.out.println("1st Quarter" + firstQuarter);
    
    int firstQuarter=0;
    对于(int i=0;i<3;i++)
    {
    第一季度=第一季度+销售数据[i];
    }
    系统输出打印项次(“第一季度”+第一季度);
    

    您可以很容易地为每个季度编写其中一个模块,但我要求您找到一个更优雅的解决方案。祝你好运

    您没有具体说明,但让我们假设季度1是“salesData”中的条目0-2;第二季度为条目3至条目5,以此类推

    以下是查找和打印季度总计的一种方法:

        int salesData[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
        int qtotal[] = new int[4];
        for (int q = 0; q < 4; ++q) {
            qtotal[q] = 0;
            for (int i = 0; i < 3; ++i) {
                qtotal[q] += salesData[q * 3 + i];
            }
        }
        for (int q = 0; q < 4; ++q) {
            System.out.printf("Quarter #%d total: %d\n ", q + 1, qtotal[q]);
        }
    
    intsalesdata[]={1,2,3,4,5,6,7,8,9,10,11,12};
    int qtotal[]=新int[4];
    对于(int q=0;q<4;++q){
    qtotal[q]=0;
    对于(int i=0;i<3;++i){
    qtotal[q]+=salesData[q*3+i];
    }
    }
    对于(int q=0;q<4;++q){
    System.out.printf(“季度#%d总计:%d\n”,q+1,数量总计[q]);
    }
    
    创建一个以数组、起始索引和结束索引为参数的方法,该方法将返回总和
        int salesData[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
        int qtotal[] = new int[4];
        for (int q = 0; q < 4; ++q) {
            qtotal[q] = 0;
            for (int i = 0; i < 3; ++i) {
                qtotal[q] += salesData[q * 3 + i];
            }
        }
        for (int q = 0; q < 4; ++q) {
            System.out.printf("Quarter #%d total: %d\n ", q + 1, qtotal[q]);
        }