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.
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?)"));
}
}
}
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.
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 < MAX) {
double salario = Double.parseDouble(JOptionPane.showInputDialog(null, "Qual é o salário (digite 0 para terminar)?"));
if (salario == 0)
break;
salarios[quant] = salario;
double reajuste = Double.parseDouble(JOptionPane.showInputDialog(null, "Qual é o valor do reajuste?"));
reajustes[quant] = reajuste;
quant++;
}
for (int i = 0; i < quant; i++) {
//Agora aqui vc faz o calculo do reajuste.
}
}
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=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.