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();

}

}
}

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

No manches ...

Nunca habia visto

if(texto11>=texto12){

donde texto11 y texto12 son del tipo String

Echale un lente a eso

Imagen de osalgado999

Gracias

Pero ya le cambie pero no evalúa la otra opción.

a que se deberá.

Saludos.

if(texto11!= texto12 )

Solo como tip

En objetos utiliza equals

Por ejemplo

texto11.equals(texto12)
Imagen de neko069

El punto es que tendrías que

El punto es que tendrías que estar evaluando los valores de edad1 y edad2 con

if( edad1 > edad2) {/* haces algo*/}
else 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:

if( texto11.equals(texto12)){/*haces algo*/}

Y si lo que quieres es comparar el largo de las cadenas, pues con el método length() de la clase String
y quedaría algo como:

if( texto11.length() > texto12.length()){/*haces algo*/}

Checa los métodos de la clase String para que veas qué puedes hacer con cadenas, y analiza bien tu problemática
para que sepas realmente qué es lo que quieres comparar.

Saludos.

Imagen de ArCiGo

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.