[SOLUCIONADO] No me hallo con los contadores en Java.

  • 5 Respuestas
  • 574 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado DaWrench

  • *
  • Underc0der
  • Mensajes: 26
  • Actividad:
    20%
  • Reputación 0
    • Ver Perfil
Hola a [email protected]!

Hace unas 2 semanas empecé a aprender Java y no hay manera de que entienda los contadores, sobretodo CUÁNDO debo utilizarlos.

Mi metodología de aprendizaje consiste en leer ciertas unidades y luego hacer unos ejercicios resueltos. La cosa es que continúo haciendo ejercicios y después de estar un buen rato intentándolo miro la solución, ¿y qué veo? Un puñetero contador. A continuación les dejo uno de esos ejercicios por si les facilita la explicación:

Pide por teclado un número entero positivo (debemos controlarlo) y muestra  el número de cifras que tiene. Por ejemplo: si introducimos 1250, nos muestre que tiene 4 cifras. Tendremos que controlar si tiene una o mas cifras, al mostrar el mensaje.


Código: You are not allowed to view links. Register or Login
import java.util.Scanner;
public class CuentaCifrasApp {
 
    public static void main(String[] args) {
 
        Scanner sc = new Scanner(System.in);
        int numero=0;
        do{
            System.out.println("Introduce un numero");
            numero=sc.nextInt();
        }while(numero<0); int contador=0; for (int i=numero;i>0;i/=10){
            //Incrementamos el contador
            contador++;
        }
 
        //Controlamos en el caso de que haya una cifra o mas
        if (contador==1){
            System.out.println("El numero "+numero+ " tiene "+contador+" cifra");
        }else{
            System.out.println("El numero "+numero+ " tiene "+contador+" cifras");
        }
 
    }
}
En este caso (y la mayoría, vaya), no entiendo por qué hay que poner un contador.
Gracias de antemano.
« Última modificación: Julio 31, 2020, 08:59:20 am por DaWrench »

Desconectado LKI

  • *
  • Underc0der
  • Mensajes: 78
  • Actividad:
    0%
  • Reputación 0
  • |Un día sin aprender nada, es un día perdido..|
    • Ver Perfil
    • Email

Re:No me hallo con los contadores en Java.

  • en: Julio 19, 2020, 11:31:29 pm
Los contadores no son más que variables que van incrementando su valor, se utilizan generalmente para llevar un control del estado actual de un proceso (loop) , por ejemplo: Teniendo la siguiente lista de valores ([email protected] ,Carlos, [email protected], Juan, [email protected], Maria, [email protected], [email protected], [email protected]) diseñar un algoritmo que detecte los primeros cinco correos electrónicos en ella y terminar el proceso mostrando los correos electrónicos encontrados:

Código: You are not allowed to view links. Register or Login
datos = ["[email protected]","Carlos", "[email protected]", "Juan", "[email protected]", "Maria", "[email protected]", "[email protected]", "[email protected]"]
correos = list()
contador = 0
for dato in datos:
   if contador >= 5:
      print("Se encontraron los primeros cinco correos electrónicos:")
      for correo in correos:
         print(correo)

      quit()
   if "@" in dato:
      contador = contador + 1
      correos.append(dato)


En este programa se recorre cada dato dentro de la lista, si el carácter "@" se encuentra dentro del dato, entonces se aumenta el contador en 1 y se procede a guardar el correo en cuestión en una nueva variable del tipo list. Luego en el primer condicional se evalúa si el contador es mayor o igual a 5, si es así se procede a mostrar los correos encontrados y terminar el programa. Obviamente la forma de detectar si es un correo en este caso es bastante pobre ya que no es la idea, sino entender como funcionan los contadores.
Espero haberte ayudado, cualquier duda que tengas me avisas.

Ser mejor cada día es mi meta

 =LKI=

Desconectado DaWrench

  • *
  • Underc0der
  • Mensajes: 26
  • Actividad:
    20%
  • Reputación 0
    • Ver Perfil

Re:No me hallo con los contadores en Java.

  • en: Julio 20, 2020, 07:26:54 am
Gracias [email protected] pero no termino de comprenderlo. He intentado ejecutar tu programa en netbeans pero tiene varios errores y no sé corregirlos.

Si pudieras explicarme para qué sirve el contador en el programa que yo puse quizás lo entendería mejor.

Desconectado [email protected]

  • *
  • Underc0der
  • Mensajes: 24
  • Actividad:
    6.67%
  • Reputación 0
    • Ver Perfil

Re:No me hallo con los contadores en Java.

  • en: Julio 20, 2020, 12:50:57 pm
@You are not allowed to view links. Register or Login en el código que pusiste al principio del hilo:

        }while(numero<0); int contador=0; for (int i=numero;i>0;i/=10){
            //Incrementamos el contador
            contador++;

While indica que la iteracion correra hasta que la condicion sea falsa (Si numero es menor a 0, dejara de correr).

Luego el for, consta de tres partes.
Indice de control ;
Condicion Booleana;
Modificacion del indice tras cada bucle;

Tu ultimo if compara la cifra mas pequeña que pueda recibir (1).
Si esta se cumple, el contador aumentará su valor en 1, si es true... tu siguiete valor de cifra será 2.
Si tu condicion es false, el retorno de tu cifra será sólo 1.

En caso de que alguien vea un error en lo que digo, por favor me cite, todos estamos para aprender.

Un saludo!
Es intrigante. ¿Cómo es que esas personas, que son tratadas como ganado en esta aburrida sociedad, no han intentado destruirla?

Shōgo Makishima

Conectado tr0n

  • *
  • Underc0der
  • Mensajes: 82
  • Actividad:
    50%
  • Reputación 4
    • Ver Perfil
    • Chat Latino

Re:No me hallo con los contadores en Java.

  • en: Julio 20, 2020, 07:45:28 pm
You are not allowed to view links. Register or Login
Gracias [email protected] pero no termino de comprenderlo. He intentado ejecutar tu programa en netbeans pero tiene varios errores y no sé corregirlos.

Si pudieras explicarme para qué sirve el contador en el programa que yo puse quizás lo entendería mejor.

El código que posteó LKI es python pero aplica el mismo principio. Me parece buena idea que hagas pruebas de escritorio para familiarizarte un poco más con el algoritmo del programa con el cual tienes dudas.

Encontré este vídeo, espero te sirva
You are not allowed to view links. Register or Login

Desconectado DaWrench

  • *
  • Underc0der
  • Mensajes: 26
  • Actividad:
    20%
  • Reputación 0
    • Ver Perfil

Re:No me hallo con los contadores en Java.

  • en: Julio 31, 2020, 08:58:57 am
Perdón por no haber respondido hasta ahora.

Como continué con java pero las cosas que seguían no las entendía, empecé a estudiar los fundamentos de la programación. En concreto estoy siguiendo una serie de tutoriales y utilizando Raptor, y la verdad es que ahora cosas como los bucles los entiendo mejor.

Igualmente muchas gracias por estar ahí!

 

[SOLUCIONADO] ¿Kali Linux o Kali Linux Ligth ?

Iniciado por worq

Respuestas: 2
Vistas: 27502
Último mensaje Noviembre 21, 2017, 12:28:54 pm
por Codig0Bit
[SOLUCIONADO] ¿Como publicar un software como software libre?

Iniciado por FuriosoJack

Respuestas: 2
Vistas: 12409
Último mensaje Mayo 23, 2017, 07:24:22 am
por HATI
[SOLUCIONADO] Multiuploader de imagenes con mysql, hosting de imagenes con mysql

Iniciado por graphixx

Respuestas: 4
Vistas: 14757
Último mensaje Marzo 26, 2013, 05:42:58 pm
por Xt3mP
[SOLUCIONADO] Linux Mint, errores, errores y mas errores...

Iniciado por n1sendev

Respuestas: 12
Vistas: 18683
Último mensaje Noviembre 22, 2017, 06:50:55 am
por RuidosoBSD
[SOLUCIONADO] Ayuda urgente con Virus "Virus.Win32Sality"

Iniciado por Napsters

Respuestas: 6
Vistas: 17912
Último mensaje Junio 11, 2012, 03:38:18 am
por Satyricon