我正在尝试在增加数组大小的同时将总销售额添加到数组中。我在代码中做错了什么还是一切都错了?
我是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)))
答案 0 :(得分:0)
考虑到您的代码段,for循环对我来说很可疑。可能需要用以下两行替换它:
double[] newtrans = Arrays.copyOf(trans, counter+1);
newtrans[counter] = total_sales;
但是,除非您被迫使用数组作为数据结构,否则请考虑使用ArrayList。 ArrayList
的全部目的是调整数组大小。
此外,如果您知道期望的大小并希望最小化调整大小,则可以选择创建具有初始容量的ArrayList
:
List<Double> trans = new ArrayList<>(100);
答案 1 :(得分:0)
感谢所有帮助!通过使用ArrayList并修复了for循环,我设法获得了所需的输出。这是我想要的代码
for(int i=0;i<trans.length;i++){
newtrans.add(i, total_sales);
}