Vetores - não aparece para digitar o salário

Olá amigos boa noite!!
Alguém pode me ajudar com esse exercício?

Elaborar um algoritmo para ler e armazenar num vetor um conjunto de salários. A quantidade de entradas no vetor deve ser definida pelo próprio usuário, sendo que:
? A quantidade máxima de entradas deve ser 20;
? Ao digitar o valor 0, o programa deve interromper a entrada de salários;
? Após toda a entrada ter sido realizada, leia o valor de um reajuste.
? Em seguida exiba todos os salários já reajustados.

Agradeço desde já!!

Você já implementou alguma coisa?

Então Anderson… eu fiz mas parei na hora do usuário digitar o número de vetores… não saiu disso! rs
Grato!

[quote=mp123]Então Anderson… eu fiz mas parei na hora do usuário digitar o número de vetores… não saiu disso! rs
Grato![/quote]

Coloca aqui o que vc fez até agora, fica mais fácil pra gente te ajudar!
:smiley:

Então mano, consegui fazer mais ou menos assim…
Não saiu disso!!! rsrsrsrs
E ainda tá dando erro porque não aparece pro usuário digitar o Salário!

Grato!

[code]
package terceiralista.walter;
import javax.swing.*;
public class Ex7 {

public static void main(String[] args) 
{
   int quant=0;
   
   
   quant = Integer.parseInt(JOptionPane.showInputDialog("Qual a quantidade de vetores?"));
   
   
   if (quant > 20)
    {
   JOptionPane.showMessageDialog(null, "A quantidade ultrapassou, o máximo são 20 vetores!");
   
   while (quant > 20)
   {
       quant = Integer.parseInt(JOptionPane.showInputDialog("Qual a quantidade de vetores?"));
   }
    }
    
    
   int[] conjSal = new int [quant];
   double[] salario = new double [quant];
   int i=0;
   int g=0;
   for (i=0;i<=conjSal[quant];i++)
   {
       for (g=0;g<=salario[quant];g++)
       {
   salario[g] = Double.parseDouble(JOptionPane.showInputDialog("QUAL O SALÁRIO?)"));
   
   
       }
   }
    
    
    
    
    
}

}[/code]

Por favor, ao postar tópicos, não use só letras maiúsculas no título. Também evite perder tempo escrevendo coisas obvio como “AJUDA”.
Dessa vez, alterei o título para você. É importante descrever o assunto e dar uma noção do erro.

Finalmente, sempre poste sua dúvida, nunca somente o enunciado do seu exercício.

Procure colocar:

  • O comportamento que está ocorrendo;
  • O que você gostaria que fosse;
  • Código fonte do que você já tentou fazer;
  • Texto da mensagem de erro (se tiver);

Quanto à sua dúvida.

Nos seus for você fez:
i <= conjSal[quant]
g <= salario[quant]

Entretanto, conjSal[quant] e salario[quant] sequer são indices válidos em seu array (um array de 20 terá índices de 0 até 19).
Ainda que fossem, como esses arrays acabaram de ser criados, o conteúdo desses índices é 0, pois nenhuma informação foi colocada dentro deles.

Creio que você quisesse fazer:
i < quant

Abaixo, um exemplo. Também corrigi o mecanismo de entrada para corresponder ao que pede o enunciado.
Note que seu professor pediu para ir lendo até que o salário digitado seja 0, e não para perguntar o número de leituras com antecedência.

[code]package terceiralista.walter;

import javax.swing.JOptionPane;

public class Ex7 {
public static void main(String[] args) {
int MAX = 20;
double[] salarios = new double[MAX];
double[] reajustes = new double[MAX];

	int quant = 0;
	while (quant &lt; MAX) {
		double salario = Double.parseDouble(JOptionPane.showInputDialog(null, &quot;Qual é o salário (digite 0 para terminar)?&quot;));
		if (salario == 0)
			break;
		salarios[quant] = salario;
		
		double reajuste = Double.parseDouble(JOptionPane.showInputDialog(null, &quot;Qual é o valor do reajuste?&quot;));
		reajustes[quant] = reajuste;
		quant++;
	}
	
	 
	for (int i = 0; i &lt; quant; i++) {
		//Agora aqui vc faz o calculo do reajuste.
	}
}

}[/code]

Então Vini!
Eu sou iniciante em Java, e essas sintaxes são novas… então não estou entendendo nada quanto ao “Private static final int” , enfim!
Tem alguma forma de fazer isso só com for, while,do while, if ?

Grato.

se ta começando usa isso


me ajudou muito :smiley:

[quote=mp123]Então Vini!
Eu sou iniciante em Java, e essas sintaxes são novas… então não estou entendendo nada quanto ao “Private static final int” , enfim!
Tem alguma forma de fazer isso só com for, while,do while, if ?
[/quote]

É só trocar o MAX por uma variável inteira normal. Aquilo era para definir uma constante.
Já arrumei no código.

O resto já usava só while, if e afins.

É que quando tento compilar ele dá uns erros. O que será ?

Você rodou o código que corrigi ali em cima? Pq eu testei aqui e funciona…

Vini! Consegui aqui cara… rodou certinho,

Mais uma vez, obrigado!!