Java - validación

 
Vista:

validación

Publicado por Luis (2 intervenciones) el 03/03/2014 14:47:33
Agradeceré mucho su ayuda en el siguiente post

Porque en el siguiente código cuando escribo "fin" no termina el programa???

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
 
 
public class nombres2 {
 
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
 
		ArrayList<String> vnombres = new ArrayList<>();
		InputStreamReader leenombres = new InputStreamReader(System.in);
		BufferedReader buffnombre = new BufferedReader(new InputStreamReader(System.in));
		String nombre = "";
 
		while (nombre != "fin") {
			nombre = buffnombre.readLine();
			vnombres.add(nombre);
			System.out.println(nombre);
			System.out.println(vnombres);
		}
	}
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

validación

Publicado por Rafael (9 intervenciones) el 03/03/2014 15:01:34
Por que estas evaluando un objeto String

Para que funcione debes poner:
1
while (!nombre.equals( "fin")) {
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

validación

Publicado por luis (2 intervenciones) el 03/03/2014 19:19:16
Perfecto!!! muchas gracias por la ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

validación

Publicado por alvaro (17 intervenciones) el 04/03/2014 00:29:12
puedes usar !nombre.equalIgnoreCase("fin") de esta manera ignora mayusculas o minusculas

incluso si estas acostumbrado a usar !=

tambien puedes de la siguiente manera nombre.intern() != "fin"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar