Programa não mostra string armazenada

Java

25/07/2021

Estou criando um programa que deve mostrar cinco frases armazenadas em string, na qual deve mostrar a frase e a posição em que ela se encontra segue o código abaixo:

package string;
import javax.swing.*;

/**
 *
 * @author Lourdes
 */
public class VetorDeStrings {
    public static void main (String[] args){
        VetorDeStrings string = new VetorDeStrings();
        string.digitarFrases();
    }
    public static void digitarFrases(){
        int[] i = new int[5];
        String[] frases = new String[5];
        String f = "";
        int n = 0;//essa variável vai representar o indice do vetor de string
        
        for (int j = 0; j < 5; j++){
           // for(int k = 0; k < frases.length; k++){
               JOptionPane.showInputDialog("Digite uma frase: " + frases); 
               f = f + " "+ frases[j]+ "\n"; 
               i[j]=n; 
            //} 
        }
        i[n] = Integer.parseInt(JOptionPane.showInputDialog("Digite o indice da frase a ser mostrada: " ));
        JOptionPane.showMessageDialog(null, i[n+1] = Integer.valueOf(i[n]));
        JOptionPane.showMessageDialog(null, f + "" + i[n+1]);
    }
}



O programa mostra a posição, mas não está armazenando as frases, o que eu posso fazer pra corrigir isso.
Carla Silva

Carla Silva

Curtidas 0

Melhor post

Alex William

Alex William

03/08/2021

Olá amigo, tudo bem?

Você não precisa de tantas variáveis, pois a posição do array você pega dele mesmo, não precisa de uma variavel pra guardar o indice.

Tente desta forma sua função:

public static void digitarFrases(){
    String[] frases = new String[5];
        
    for (int i = 0; i < 5; i++ ){
        frases[i] = JOptionPane.showInputDialog("Digite uma frase: "); 
    }
    
    for (int j = 0; j < 5; j++ ){
        JOptionPane.showMessageDialog(null, j + " -> " + frase[j]);
    }
}


Depois poste se funcionou.

Espero ter ajudado. :D

P.S.: nos "for" e na concatenação, a visualização removeu os sinais de mais, não esquecer deles.
GOSTEI 1

Mais Respostas

Carla Silva

Carla Silva

25/07/2021

Olá amigo, tudo bem?

Você não precisa de tantas variáveis, pois a posição do array você pega dele mesmo, não precisa de uma variavel pra guardar o indice.

Tente desta forma sua função:

public static void digitarFrases(){
    String[] frases = new String[5];
        
    for (int i = 0; i < 5; i++ ){
        frases[i] = JOptionPane.showInputDialog("Digite uma frase: "); 
    }
    
    for (int j = 0; j < 5; j++ ){
        JOptionPane.showMessageDialog(null, j + " -> " + frase[j]);
    }
}


Depois poste se funcionou.

Espero ter ajudado. :D

P.S.: nos "for" e na concatenação, a visualização removeu os sinais de mais, não esquecer deles.
GOSTEI 0
Carla Silva

Carla Silva

25/07/2021

Olá amigo, tudo bem?

Você não precisa de tantas variáveis, pois a posição do array você pega dele mesmo, não precisa de uma variavel pra guardar o indice.

Tente desta forma sua função:

public static void digitarFrases(){
    String[] frases = new String[5];
        
    for (int i = 0; i < 5; i++ ){
        frases[i] = JOptionPane.showInputDialog("Digite uma frase: "); 
    }
    
    for (int j = 0; j < 5; j++ ){
        JOptionPane.showMessageDialog(null, j + " -> " + frase[j]);
    }
}


Depois poste se funcionou.

Espero ter ajudado. :D

P.S.: nos "for" e na concatenação, a visualização removeu os sinais de mais, não esquecer deles.

Deu tudo certo amigo, obrigada pela ajuda
GOSTEI 0
POSTAR