-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]。这两个整数将表示第一项乘以 1,第二项乘以 1,等等。您知道,如 16*16 = 256 等...

我怎么能构造一个方法来做到这一点?java中是否有任何power-to功能?

提前致谢!

4

1 回答 1

0

如果您想将一个数乘以另一个幂,请使用

Math.pow(double a, double b) : double功能

于 2014-06-07T16:52:01.757 回答