Java程序设计:一些相续正整数的立方和正好等于另一个整数的立方

编写一个应用程序,找到一些相续正整数的立方和正好等于另一个整数的立方。如下图所示:

相关的程序实现如下:

package com.company;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class Main {

    static String s = "";
    static int high = 0;

    public static void main(String[] args) {
        System.out.println("请输入最大值:");
        io();
        long sum = 0;
        //sumSaver数组存放从1到数组下标的立方和
        long[] sumSaver = new long[high];
        //i3Saver数组存放数组下表的立方值
        long[] i3Saver = new long[high];
        for (long i = 1; i <= high; i++) {
            i3Saver[(int) i - 1] = i * i * i;
            sum = sum + i3Saver[(int) i - 1];
            sumSaver[(int) i - 1] = sum;

        }
        //要求的最大项数组下标
        for (int i = 3; i <= high; i++) {
            //左边从开始到第j项的和
            for (int j = 1; j < i; j++) {
                //再减去左边第k项的和
                for (int k = 1; k < j; k++) {
                    long temp = sumSaver[j - 1] - sumSaver[k - 1];
                    if (i3Saver[i - 1] == temp) {
                        System.out.printf("%d³=%d³+...+%d³\n", i, k + 1, j);
                        break;
                    }
                    if (i3Saver[i - 1] > temp) {
                        break;
                    }
                }
            }
        }
    }

    static void io() {
        try {
            BufferedReader io = new BufferedReader(new InputStreamReader(System.in));
            s = io.readLine();
            try {
                high = Integer.parseInt(s);
            } catch (NumberFormatException e) {
                System.out.println("请输入数字!");
                Main.io();
            }
        } catch (IOException e) {
            e.printStackTrace();
            Main.io();
        }
    }

}