分析未知数组大小的数组

因泰西

我一直在寻找答案,而且我总是发现某些问题可以部分解决我的问题。所以,这是我现在的代码:

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.");
        }
    }
}

它可以工作,但是最后我发现有些东西并不像我想象的那么小。这是输出:http : //i.imgur.com/3mmEpUb.png我试图在整个代码上重新定位打印,试图以某种方式停止循环,但是我失败了。我真的什至不知道是什么问题。我试图放开这个问题并执行其他任务,但是正如我已经说过的那样,循环之外的任何内容都没有出现。

很抱歉,这令人困惑,我是Java的新手,我也很难解释。如果您有一些提示或替代解决方案,请随时在此处随意介绍。如果还有其他我需要解释的内容,那就这么说。

Velko Georgiev

我看不到使用2个嵌套的for循环(或2个单独的循环)的意义,这只是使算法复杂度为O(n ^ 2),您可以检查第一个循环中的值是否为0,以及它是否不增加的值。柜台

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.println("Enter numbers: ");
    int[] array = new int[2];
    int counter = 0;

    for (int i = 0; i < array.length; i++) {
        array[i] = input.nextInt();

        if(array[i] != 0) {
            counter++;
        }
    }

    System.out.println("This array has " + counter + " numbers.");
}

编辑

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.println("Enter numbers: ");
    int[] array = new int[100];
    int i = 0;

    for (; i < array.length; i++) {
        int inputValue = input.nextInt();

        if(inputValue <= 0) {
            break;
        } else {
            array[i] = inputValue;
        }
    }

    System.out.println("This array has " + i + " numbers.");
}

编辑2(信用@Andreas)

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.println("Enter numbers: ");
    int[] array = new int[100];
    int i = 0;

    while (input.hasNextInt()) {
        int inputValue = input.nextInt();

        array[i++] = inputValue;
    }

    System.out.println("This array has " + i + " numbers.");
}

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

bash for未知数组循环

带有未知数组的柴子集

如何合并未知数量的数组

Java:针对未知数组大小的for循环进行了增强

未知大小的数组

合并数组中未知数量的子数组

如何使用TensorFlow确定未知数组到数组函数?

通过函数向数组添加未知数量的对象

如何使用LINQ对未知数量的数组元素求和?

在数组中存储未知数量的数字

将未知数量的表单域对解析为Javascript数组

计算并记录数组中匹配的未知数据

是否有可能找到一个未知数组与一个未知数组进行异或运算,而该数组只知道结果数组?

初始化具有未知数字和未知长度的字符串数组

C ++:类内的静态数组的大小未知

如何创建未知大小的多维数组?

std ::大小未知的数组作为类成员

遍历成员函数中大小未知的数组

JavaScript中未知大小的多维数组

动态数组大小调整的摊销分析

Fortran:未知的数组大小(对数组中的元素进行计数)

将数组设置为未知大小的其他数组

初始化C ++结构,例如在编译时绑定未知数组

PHP SQL查询错误-WHERE子句中的未知数组列

通过遍历未知数量的数组来创建JavaScript对象的笛卡尔积(powerset?)

如何将未知数量的整数扫描到C中的数组中?

使用未知数量的表示查询的嵌套数组反序列化JSON

如何使用Python解决带有16个未知数的4 x 4数组(更新)

将未知数量的数据库字段添加到数组中

TOP 榜单

热门标签

归档