How to save information in an array?

0

Java masters, I'm learning about arrays, vectors, and would like to know what happens to my code as I create an array to get six names and six positions for the matrix employees. But when I print, I just print jobs and are not printing the names. Here is the code:

   public static void main(String[] args) {

    //Criando o Array vetor do tipo String com seis posições
        String funcionarios[][] = new String[6][1];
        //Populando o array vetor                
        for(int nome = 0; nome <= 5; nome++)
        {
            String entrada = JOptionPane.showInputDialog(null, "Digite o Nome do Funcionário: ");
            for(int cargo = 0; cargo <= 0; cargo++)
            {
            entrada = JOptionPane.showInputDialog(null, "Digite o Cargo do Funcionário: ");

                funcionarios[nome][cargo] = entrada;                
            }                
        }
        for(int nome = 0; nome <= 5; nome++)
        //Imprimindo o conteúdo do array vetor
        {
            //JOptionPane.showMessageDialog(null, "Nome do Funcionario " + funcionarios[nome][cargo]); 
            for(int cargo = 0; cargo <= 0; cargo++)
            {

               JOptionPane.showMessageDialog(null, "Cargo do Funcionario " + funcionarios[nome][cargo]); 

            }
        } 
    //Encerrando o sistema
    System.exit(0);

Who can help me, I thank you in advance.

    
asked by anonymous 20.10.2016 / 20:16

1 answer

2
 //Criando o Array vetor do tipo String com seis posições
 String funcionarios[][] = new String[5][1];

You should at this point create an array with 5 rows and 2 columns (name and title) and not an array with 6 rows and 1 column.

Exemplifying your array with 1 column can be seen like this:

Being to save the name and title should be like this (2 columns):

 //Populando o array vetor                
 for (int nome = 0; nome <= 5; nome++) {
  String entrada = JOptionPane.showInputDialog(null, "Digite o Nome do Funcionário: ");
  for (int cargo = 0; cargo <= 0; cargo++) {
   entrada = JOptionPane.showInputDialog(null, "Digite o Cargo do Funcionário: ");

   funcionarios[nome][cargo] = entrada;
  }
 }

In the above excerpt, I do not recommend using integer type variables with the names you used as: cargo and nome , because it gets confusing!

for (int nome = 0; nome <= 5; nome++) {

You also do not need to set the size of the array in the loop, you can use the property: length (which returns the size).

for (int cargo = 0; cargo <= 0; cargo++) {

The job tie is also useless as it runs only once you can use the position directly.

You are not saving the name because you did not save it.

You receive the entry:

String entrada = JOptionPane.showInputDialog(null, "Digite o Nome do Funcionário: ");

But then overwrite it inside the for:

entrada = JOptionPane.showInputDialog(null, "Digite o Cargo do Funcionário: ");

And save the job in position 0:

funcionarios[nome][cargo] = entrada;

Here's how your code will look like:

String funcionarios[][] = new String[5][2];

for (int i = 0; i < funcionarios.length; i++) {

    String nome = JOptionPane.showInputDialog(null, "Digite o Nome do Funcionário: ");
    funcionarios[i][0] = nome; // salvando o nome na posição 0

    String cargo = JOptionPane.showInputDialog(null, "Digite o Cargo do Funcionário: ");
    funcionarios[i][1] = cargo; // salvando o cargo na posição 1
}

// Mostrando os valores
for (int i = 0; i < funcionarios.length; i++) {
    JOptionPane.showMessageDialog(null, "Nome do Funcionario " + funcionarios[i][0]);
    JOptionPane.showMessageDialog(null, "Cargo do Funcionario " + funcionarios[i][1]);
}
    
20.10.2016 / 20:47