Foros del Web » Programación para mayores de 30 ;) » Java »

problema con entrada de chars

Estas en el tema de problema con entrada de chars en el foro de Java en Foros del Web. Hola un saludo a todos, estoy tratando de resolver un pequeño problema en java. Se trata de escribir un programa que reciba como entrada una ...
  #1 (permalink)  
Antiguo 23/04/2007, 09:57
 
Fecha de Ingreso: febrero-2007
Mensajes: 5
Antigüedad: 17 años, 2 meses
Puntos: 0
problema con entrada de chars

Hola un saludo a todos, estoy tratando de resolver un pequeño problema en java. Se trata de escribir un programa que reciba como entrada una serie de diez números de un solo dígito como caracteres, y que determine e imprima el mayor de los números. El programa debe utilizar cuando menos las siguientes variables:

a) contador: Un contador para contar hasta 10 (es decir, para llevar el registro de cuantos números se han introducido, y para determinar cuando se hayan procesado los 10 números);

b) número: El dígito actual introducido en el programa;
c) mayor: El número más grande encontrado hasta ahora.

El problema lo puedo resolver utilizando variables enteras, pero aqui la duda es que pide introducir caracteres los cuales deben ser solo de 0 - 9, y no se como hacer el cast, la verdad es que con chars no he trabajado mucho. Aqui esta el codigo:

public class MayorSerieNumeros {

public static void main(String[] args)
{
String cadenaNumero;
int numero = 0, numeroMayor = 0;
int contadorDigitos;
char caracter;

contadorDigitos = 1;

while(contadorDigitos <= 5) {
cadenaNumero = JOptionPane.showInputDialog("Escriba 10 dígitos");
numero = Integer.parseInt(cadenaNumero);
caracter = (char)numero;
if(caracter > numeroMayor)
numeroMayor = caracter;

contadorDigitos++;
}

JOptionPane.showMessageDialog(null, "El número mayor es: " + numeroMayor,"RESULTADO",JOptionPane.INFORMATION_ME SSAGE);
System.exit(0);

}

}

Yo intento hacer el cast con esto: caracter = (char)numero, pero al correr el programa me sigue aceptando numeros mayores del rango 0 - 9.

Me han dicho que haga una validación para que me acepte números del 0 - 9 pero me piden el problema que introduzca caracteres o sea numeros de un solo digito.

Espero alguien pueda ayudarme, gracias.
  #2 (permalink)  
Antiguo 23/04/2007, 10:47
Avatar de Asgaroth  
Fecha de Ingreso: abril-2007
Mensajes: 79
Antigüedad: 17 años, 1 mes
Puntos: 4
Re: problema con entrada de chars

aver segun lo que te entendi no entra una sola cadena con todos los numeros si no un numero ala vez entonces yo haria lo siguiente:

Código:
public class MayorSerieNumeros { 

	public static void main(String[] args) 
	{ 
		String cadenaNumero; 
		int numero = 0, 
		char numeroMayor = 0; 
		int contadorDigitos=0; 
		char caracter; 

		

		while(contadorDigitos < 10) { 
			cadenaNumero = JOptionPane.showInputDialog("Escriba el dígito:"); 
			numero = Integer.parseInt(cadenaNumero); 
			if(numero>9){
				cadenaNumero = JOptionPane.showInputDialog("El digito debe estar entre 0 y 9:");
				numero = Integer.parseInt(cadenaNumero); 
			}
			caracter = (char)numero; 

			if(caracter > numeroMayor) 
				numeroMayor = caracter; 

			contadorDigitos++; 
		} 

	JOptionPane.showMessageDialog(null, "El número mayor es: " + numeroMayor,"RESULTADO",JOptionPane.INFORMATION_ME SSAGE); 
	System.exit(0); 

	} 

}
prueba si es lo que buscabas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:37.