java - 在不知道数组大小的情况下分析数组

标签 java arrays loops java.util.scanner

我一直在寻找答案,并且总能找到部分回答我的问题的东西。所以,这是我现在的代码:

import java.util.Scanner;

public class VelikaDN {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter numbers: ");
        int[] array = new int[100];
        for (int i = 0; i < array.length; i++) {
            array[i] = input.nextInt();
            // Number of elements
            int counter = 0;
            for (int j = 0; j < array.length; j++) {
                if (array[j] != 0)
                    counter++;
            }
            System.out.println("This array has " + counter + " numbers.");
        }
    }
}

它有效,但最后我注意到一些事情并不像我想象的那么小。这是输出:/image/N5nsO.png 我尝试重新定位整个代码中的打印位置,尝试以某种方式停止循环,但失败了。我真的不确定到底是什么问题。我试图放弃这个问题并执行另一项任务,但正如我已经说过的,循环之外的任何内容都没有显示。

如果这令人困惑,我很抱歉,我是 Java 新手,而且我也不太擅长解释。如果您有一些技巧或替代解决方案,请随意将其扔在这里。如果还有什么需要我解释的,就直说吧。

最佳答案

int counter=0;放在循环之外,然后在循环之后发布system.out

关于java - 在不知道数组大小的情况下分析数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33641485/

相关文章:

objective-c - 在 Objective-C 中将 NSArray 转换为 NSString

loops - 如何在属性中模仿 sass for 循环?

java - SimGrid。模拟异常情况

java - 未记录的 Java 命令行选项?

ruby-on-rails - Rails 3 - 某些集合上的未定义方法

c# - C#中的数组如何部分实现IList<T>?

java - 如何使用循环将随机整数打印到多行?

linux - 这是等待 10 秒获取 IP 地址的有效方法吗?

java - 无法将图像放入框架中

java - 如何在 Java 中创建内存泄漏?