Вопрос:

Могу ли я узнать длину массива без использования .length в Java

java

9496 просмотра

5 ответа

0 Репутация автора

У меня есть следующее:

int count = args.length;

Как ни странно, я хочу узнать длину массива без использования поля длины. Есть ли другой путь?

Вот что я уже (без успеха) попробовал:

int count=0; while (args [count] !=null) count ++;
int count=0; while (!(args[count].equals(""))) count ++;}
Автор: user1464139 Источник Размещён: 28.06.2012 01:08

Ответы (5)


0 плюса

1612 Репутация автора

Я не уверен, почему вы захотите сделать что-нибудь еще, но это просто то, что я придумал, чтобы посмотреть, что сработает. Это работает для меня:

    int count = 0;
    int[] someArray = new int[5];  
    int temp;
    try
    {
        while(true)
        {
            temp = someArray[count];
            count++;
        }
    }
    catch(Exception ex)
    {
           System.out.println(count); 
    }
Автор: Dan Teesdale Размещён: 28.06.2012 01:16

-1 плюса

18941 Репутация автора

Решение

Как насчет Arrays.asList(yourArray).size();?

Автор: Jeshurun Размещён: 28.06.2012 01:16

0 плюса

1054 Репутация автора

Вы не можете использовать [] для доступа к массиву, если индекс выходит за границы.

Вы можете использовать для каждого цикла

for (String s: args){
    count++;
}
Автор: Greg Wang Размещён: 28.06.2012 01:18

2 плюса

16799 Репутация автора

Я не думаю, что в этом есть необходимость. Тем не менее, самый простой способ сделать это, это использоватьenhanced for loop

 int count=0;
 for(int i:array)
 {
   count++;
 }

 System.out.println(count);
Автор: Sleiman Jneidi Размещён: 28.06.2012 01:19

0 плюса

6 Репутация автора

public class ArrayLength {
    static int number[] = { 1, 5, 8, 5, 6, 2, 4, 5, 1, 8, 9, 6, 4, 7, 4, 7, 5, 1, 3, 55, 74, 47, 98, 282, 584, 258, 548,
            56 };

    public static void main(String[] args) {
        calculatingLength();
    System.out.println(number.length);
    }

    public static void calculatingLength() {
        int i = 0;
        for (int num : number) {

            i++;

        }
        System.out.println("Total Size Of Array :" + i);

    }


}
Автор: Rohit Tripathi Размещён: 13.06.2019 06:33
Вопросы из категории :
32x32