在Java中增加数组大小的同时向其添加值

时间:2019-03-31 03:25:34

标签: java arrays arraylist

我正在尝试在增加数组大小的同时将总销售额添加到数组中。我在代码中做错了什么还是一切都错了?

我是Java的初学者,只是开始学习方法和类,因此任何建议都会有所帮助。

#lang racket

(require rackunit)

(define (flat-lift l)
  (match (flatten l)
    ['() '()]
    [(cons a (cons b c)) (cons (list a b) (flat-lift c))]))

(check-equal? (flat-lift '(((a 1) (b 2)) (c 3) ((d 4) (e 5))))
              '((a 1) (b 2) (c 3) (d 4) (e 5)))

(check-equal? (flat-lift '((((((a 1))))))) '((a 1)))

(check-equal? (flat-lift '()) '())

(check-equal? (flat-lift '((a 1) (b 2) (c 3) (d 4) (e 5)))
              '((a 1) (b 2) (c 3) (d 4) (e 5)))

2 个答案:

答案 0 :(得分:0)

考虑到您的代码段,for循环对我来说很可疑。可能需要用以下两行替换它:

double[] newtrans = Arrays.copyOf(trans, counter+1);
newtrans[counter] = total_sales;

但是,除非您被迫使用数组作为数据结构,否则请考虑使用ArrayListArrayList的全部目的是调整数组大小。

此外,如果您知道期望的大小并希望最小化调整大小,则可以选择创建具有初始容量的ArrayList

List<Double> trans = new ArrayList<>(100);

答案 1 :(得分:0)

感谢所有帮助!通过使用ArrayList并修复了for循环,我设法获得了所需的输出。这是我想要的代码

  for(int i=0;i<trans.length;i++){
          newtrans.add(i, total_sales);

        }