java - 如何获取初始化数组大小的用户输入(数组是全局声明的)JAVA

标签 java arrays

所以我现在陷入了困境,不知道这是如何工作的。 假设我有一个在类中全局声明的数组,如下所示:

int[] x = new int[size];

我还有一个名为 size 的全局变量

int size;

但是它的值没有在这里声明。我想知道如何通过用户输入或方法调用将值传递给这个全局变量。 是否有另一种方法可以全局声明数组并通过用户输入以某种方式设置其大小?

<小时/>

谢谢大家的意见。然而,我似乎对此仍然有些困惑。我正在玩java swing并编写了以下代码:

btnAdd.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {

            String text = input.getText();
            int b = Integer.parseInt(text); 
            array= new int[size];
            array[c]=b;
            c++;
                        }});

代码的第一位本质上是一个按钮监听器,它从 jtextfield 获取文本,将其转换为 int 并将其添加到数组中。我在类中全局初始化了数组,但在按钮中实例化。我已在类中将“c”初始化为设置为 0 的全局变量。 大小也取自设置为某个数字的全局变量。

    JButton btnPrint = new JButton("print");
    btnPrint.addActionListener(
            new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            for(int q=0;q<size;q++){
                System.out.println(array[q]);
            }
        }
    });

当我点击这个按钮时,它必须打印出数组。但我得到了一个非常奇怪的输出。例如,我将这些值输入到大小为 3 的数组中: '2' 、 '5' 、 '100' 。 然后我将得到 0, 0, 100 的输出。这就像只打印出数组的最后一个值。 需要这方面的帮助,请

最佳答案

声明数组而不初始化它:

int[] x;

将值分配给 size 后,实例化数组:

size = ...
x = new int[size];

关于java - 如何获取初始化数组大小的用户输入(数组是全局声明的)JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34021444/

相关文章:

javascript - 如何从 webView.evaluateJavascript 回调返回值?

java - 解密代码错误

java - Thymeleaf 中的多个 if else 条件

java - LocalDate 和 DateTimeFormatter 无法在日语语言环境中正常工作

java - 在 Java 中从另一个类创建数组对象

c - 我需要将一个字符串分成三个不同大小的部分

python - 将新元组加入 Python 中的第一个元组列表

java - 在迭代期间更改 HashMap 键

c - 如何使结构的数组之一到空位置?

php - 通过 PHP 将 Sql 数据库转换为具有正确格式的 JSON,并在 PHP 脚本本身中对值进行排序