Programa não mostra string armazenada

25/07/2021

0

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

Responder

Post mais votado

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.

Alex William

Alex William
Responder

Mais Posts

06/08/2021

Carla Silva

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

06/08/2021

Carla Silva

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
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar