如何通过调用此方法初始化此数组?

用户名

由于某种原因,我只是想不出如何调用顶部的变量的底部两个方法。当我做initalizeString(String [] names); 我总是得到.class的期望。不太确定我在调用该方法时在做什么错。

import java.util.Scanner;
import java.io.FileInputStream;
import java.io.FileNotFoundException;

public class SoftDrinkInventory {

    static final int MAXSIZE = 100;      // maximum size of 100
    private String[] names;             // softdrink names
    private String[] ids;               // softdrink identifications
    private int[] startingInventory;    // starting inventory of the softdrinks
    private int[] finalInventory;       // final inventory of the softdrinks
    private int[] transactionCounts;    // number of transactions per softdrink
    private int trueSize;               // total number of softdrinks

    public SoftDrinkInventory() {

      // call initalizeString for names/ids
      // call initializeInt for inventory/transaction counts

    }

    private void initializeInt(int[] a) {

        a = new int[MAXSIZE];

        for(int i = 0; i <= MAXSIZE; i++) {
            a[i] = 0;
        }

    }

    private void initializeString(String[] s) {

        s = new String[MAXSIZE];

        for(int i = 0; i <= MAXSIZE; i++) {
            s[i] = "";
        }

    }

}
罗宾·克拉尔

解决您的特定问题:使用initializeString(names)代替initalizeString(String[] names)但是您的程序无法按预期运行。Java按值传递方法参数。这意味着您可以sinitializeString(String[])方法中重新分配参数,但这不会影响该names字段。

此外,如果您创建一个new int[MAXSIZE],则0默认情况下该数组将包含100个值。您不必手动设置它们。最后但并非最不重要的一点是,您应该考虑使用Collections框架,尤其是List接口,而不是数组。它很容易使用,而且没有明显的缺点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过调用方法初始化数组

如何在结构中初始化此数组数组?

此数组初始化速记如何工作?

如何初始化此结构?

如何聚合初始化此结构?

如何初始化此数组,使其在while循环中工作?

尝试初始化数组列表时如何解决此错误?

如何初始化此可变大小的结构?

优化此验证和初始化

当使用初始化程序,构造函数和方法调用时,为什么print语句按此顺序执行?

如何通过WebService调用响应在JavaScript中动态初始化数组

如何初始化通过远程方法调用获取的Hibernate实体?

此函数被调用方的初始化和清理顺序是做什么的?

Xamarin,Firebase:“此过程未初始化默认的FirebaseApp”-尽管调用了initializeApp()?

方法调用中的数组初始化语法

如何调用使用可能未初始化的数组作为参数的方法?

为什么此数组初始化的行为有所不同?

我想在paint()函数之外声明并初始化此数组

为什么此二维数组初始化是非法的?

调用此函数并通过segue传递此数组的正确方法是什么?

如何通过参数初始化构造函数中的数组?

memset如何通过-1初始化整数数组?

如何存根初始化方法中调用的方法

如何从初始化方法调用类方法?

如何通过显式初始化解决此继承问题?

通过调用该方法,如果我已经用结构体数组的初始化创建了构造函数?

为什么此超类在初始化期间不在子类中运行方法?

有没有更短的方法来初始化此循环?

如何在F#中复制此C#初始化代码