¿Por qué es el código saltando por encima de bucle en el programa de longitud entero

KiLlsteal juego:

Im tratando de crear un programa para encontrar la longitud de un número dado. Yo pensé que haría esto tomando el número y dividiendo por 10 y luego la comprobación para ver si el número era <= 0. I dident desea editar el número global de lo que he creado una versión instancia del número y acostumbrado que a medida que la condición en el bucle.

Así que, obviamente, este trabajo Dident así que naturalmente terminó buscando en el depurador de averiguar lo que estaba pasando. Parece como si el programa está completamente saltando sobre el bucle for cualquier ayuda se agradece.

public static void sumFirstAndLastDigit(int number) {
        int numberLength = 0;
        int instanceNumber = number;
        for(int i = 0; instanceNumber <= 0; i++) {
            instanceNumber /= 10;
            numberLength = i;   
        }
        System.out.println("Number length = " + numberLength);
        // to find length of number loop division by 10
    }
}

El programa debe utilizar el bucle para mantener dividiendo por 10 hasta que el número es = a o menos de que cero y para cuántas veces la RAN bucle debe ser almacenada en el número entero longitud del número. En este caso, con el número 12321, la respuesta debería ser de 6 pero imprime 0.

TJ Crowder:

Usted está diciendo que bucle while instanceNumber <= 0. La "prueba" en un forbucle es una prueba de "seguir adelante", no una condición de terminación. El bucle continúa siempre que la prueba es verdadera .

Desde su descripción, desea instanceNumber > 0.

También tenga en cuenta el punto de Avinash Gupta que con su código actual, podrás undercount por uno. Me dirijo a que mediante el uso de un bucle completamente diferente:

int numberLength = 0;
int instanceNumber = number;
while (instanceNumber > 0) {
    ++numberLength;
    instanceNumber /= 10;
}

Eso es bueno y sin ambigüedades: Si instanceNumber > 0, incrementa numberLength, a continuación, divide por 10 y lo intenta de nuevo.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=315101&siteId=1
Recomendado
Clasificación