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

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar