-2

現在、各数値の違いを単純に書き出す数値シーケンスの関数を認識するのに役立つプログラムを作成しています。

たとえば、[21, 20, 18, 15, 11] というシーケンスを指定すると、[-1 -2 -3 -4] が返されるので、シーケンスの次の数字がおそらく 6 であることがわかります。

今のところ、これは私のコードです:

    ArrayList<Integer> terms = new ArrayList<Integer>();
    Scanner superScanner = new Scanner(System.in);
    System.out.println("Enter sequence, separate with comma");
    String input = superScanner.nextLine();
    String[] splitted = input.split(",");
    for(String string : splitted){
        int term = Integer.parseInt(string);
        terms.add(term);
    }
    System.out.println("Terms: "+terms);

    ArrayList<Integer> sequence = new ArrayList<Integer>();

    System.out.println("=========DIFFERENCE=========");
    for(int i = 0; i<terms.size(); i++){
        //System.out.println("index "+i);
        //System.out.println("size "+terms.size());
        if(i == terms.size()-1){
            //System.out.println("i == terms.size()");
        }
        else{
            int currentTerm = terms.get(i);
            int nextTerm = terms.get(i+1);
            int difference = nextTerm-currentTerm;
            System.out.print(" "+difference);
            sequence.add(difference);
        }
    }

とてもシンプルで簡単です (私はまだ学んでいます)。しかし、コードも「力」を返すようにする方法があるのではないかと思っていました。

16, 256, 65536 を指定すると、パターン [1, 1] が返されます。2 つの整数は、第 1 項の累乗を 1 で表し、第 2 項の累乗を 1 で表します。16*16 = 256 などのように...

これを行うメソッドをどのように構築できますか? Javaに機能する機能はありますか?

前もって感謝します!

4

1 に答える 1

0

数値を別の累乗にしたい場合は、

Math.pow(double a, double b) : double関数

于 2014-06-07T16:52:01.757 に答える