Problemas con BufferdReader y la validación
Buenos días.
Queridos colegas.
He venido practicado algo sobre ingresar desde el teclado con la clase BufferedReader e InputStreamReader
y quisiera ver en donde tengo el problema ya que este mismo lo hice con la clase Scanner y no hay falla pero quize hacerlo a bajo nivel este es el codigo y me marca un erroe en la parte del if :
solicito de su asesoramiento. Para ver como lo soluciono.
import java.io.*;
public class CadenaDeCaracteres3{
public static void main(String [] args)throws Exception{
InputStreamReader is = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(is);
try{
System.out.print(" Ingrese el nombre: ");
String texto11 = br.readLine();
//String nombre1 = String.parseString(br.read());
System.out.print(" Ingrese la edad: ");
String texto1 = br.readLine();
int edad1 = Integer.parseInt(texto1);
System.out.print(" Ingrese el nombre: ");
String texto12 = br.readLine();
//String nombre2 = String.parseString(br.read());
System.out.print(" Ingrese la edad: ");
String texto2 = br.readLine();
int edad2 = Integer.parseInt(texto2);
if(texto11>=texto12){
System.out.print(texto11);
}else{
System.out.print(texto12);
}
}catch (Exception i){
i.printStackTrace();
}
}
}
- Inicie sesión o regístrese para enviar comentarios
No manches ...
Nunca habia visto
donde texto11 y texto12 son del tipo String
Echale un lente a eso
Gracias
Pero ya le cambie pero no evalúa la otra opción.
a que se deberá.
Saludos.
Solo como tip
En objetos utiliza equals
Por ejemplo
El punto es que tendrías que
El punto es que tendrías que estar evaluando los valores de
edad1
yedad2
conelse if( edad1 < edad2){/*haces otra cosa*/}
else{ /*este ultimo else representaria la condicion de que edad1==edad2 ... y haces otra cosa*/ }
Si quieres comparar si las cadenas contienen los mismos caracteres, tendrías que hacer algo como:
Y si lo que quieres es comparar el largo de las cadenas, pues con el método
length()
de la claseString
y quedaría algo como:
Checa los métodos de la clase
String
para que veas qué puedes hacer con cadenas, y analiza bien tu problemáticapara que sepas realmente qué es lo que quieres comparar.
Saludos.
Una alternativa
Podrías hacer esto.-
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in);
Como ya te dijeron, al comparar cadenas, comparas objetos de la clase String. Los objetos creados de cualquier clase contraria a su primitiva (Integer, Float, Character, String, etcétera) siempre se compararán con un equals, o compareTo (es una interface).
Espero pueda servirte esto. Saludos.