Java - Arreglo en java

 
Vista:

Arreglo en java

Publicado por Oscar (3 intervenciones) el 13/06/2017 18:59:52
Buenas tardes,

Estoy haciendo una practica con arreglos con el siguiente enunciado:

Escribir un programa que pide por pantalla palabras y las guarda en un arreglo.
Se debe pedir palabras hasta que se ingrese la palabra Finalizar.
Esto debe provocar que el programa no pida más palabras y muestre por pantalla las
palabras ingresadas en toda la ejecución.

El código generado es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class ArregloJava {
 
        public static void main(String[] args) {
 
            String palabra;
            String fin= "finalizar";
            String a[];
            a = new String[10];
 
            int i = 0;
            while (i < 1){
        palabra = JOptionPane.showInputDialog("Ingrese una palabra ");
        a[i] = palabra;
        i++;
    }
        for (int j = 0; j < a.length; j++){
        JOptionPane.showMessageDialog(null, a);
          if (palabra == fin){
               System.out.println(a);
          }else{
          }
        }
}
}

Estoy bloqueado porque no se como seguir.

¿Ese if esta bien metido dentro del for? Podeis ayudarme por favor.

Un saludo.
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

Arreglo en java

Publicado por Costero (148 intervenciones) el 14/06/2017 03:51:15
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.util.ArrayList;
import java.util.List;
import java.util.Scanner;
 
public class ArregloJava {
 
    public static void main(String [] args) {
        Scanner scanner = new Scanner(System.in);
        List<String> palabras = new ArrayList<>();
 
        while(true) {
            System.out.print("Ingrese una palabra: ");
            String palabra = scanner.nextLine();
            if("finalizar".equalsIgnoreCase(palabra)) {
                break;
            }
            palabras.add(palabra);
        }
 
        for(String palabra : palabras) {
            System.out.println(palabra);
        }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de kip
Val: 96
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Arreglo en java

Publicado por kip (20 intervenciones) el 14/06/2017 04:01:51
Hola, creo que te conviene usar ArrayList en este caso, ya que el array tendra un tamaño dependiente de lo que el usuario vaya ingresando, he preparado algo simple a ver si te ayuda:

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.util.*;
 
class Main {
  public static void main(String[] args) {
    ArrayList<String> palabras = new ArrayList<String>();
    int nPalabra = 1;
    Scanner sc = new Scanner(System.in);
    System.out.println("Puede detener el ingreso de palabras escribiendo 'finalizar'");
    while (nPalabra > 0) {
        String palabra;
        System.out.printf("Ingrese la palabra %d: ", nPalabra);
        palabra = sc.nextLine();
        if (palabra.toLowerCase().equals("finalizar")) {
            break;
        }
        palabras.add(palabra);
        nPalabra++;
    }
    System.out.println("Las palabras que ingreso son: ");
    for (String palabra : palabras) {
        System.out.printf("%s\n", palabra);
    }
  }
}

Te sirve ?
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

Arreglo en java

Publicado por Oscar (3 intervenciones) el 14/06/2017 12:16:18
Muchas gracias a los dos!!

Lo que mas se asemeja a lo que buscaba es lo de kip, pero gracias por dedicar vuestro tiempo en ayudarme.

Saludos.
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