To fazendo um exercício de lógica:
Tenho que ler seis notas, achar a menor e a maior, somar as notas tirando a maior e a menor.
Era só lógica mesmo, sem java, mais eu tentei fazer no java, como não tenho instalado, fiz no bloco de notas, deve estar com erros. :oops:
Achei a maior e a menor, mais não consigo fazer a soma…
Podem me ajudar, não precisa de metodos e tals, é o basico mesmo, Lógica de programação…
É do jeito mais basico mesmo…
Brigado pessoal…
Valeu mesmo…
bjooooooooo
marineli
Ixiiiiiiiiiiii…Agora não tendi nada…
Do jeito q eu fiz não ta certo?
LucasAdri07
marineli:
Ixiiiiiiiiiiii…Agora não tendi nada…
Do jeito q eu fiz não ta certo?
Acho que você não tem os valores, você testou para ver?
marineli
É só um exercício de Lógica de programação, eu só fiz em java porque eu to aprendendo java, mais era só pra fazer em lógica:
Leia tres notas, ache a maior e a menor, some as notas, menos a menor e a maior.
Tendeu?
Eder_Peixoto
Oi marineli,
O que o LucasAdri07 perguntou é de onde que virão os valores (as notas). Serão informadados pelo usuário, lidos de um arquivo etc.
LucasAdri07
Eder Peixoto:
Oi marineli,
O que o LucasAdri07 perguntou é de onde que virão os valores (as notas). Serão informadados pelo usuário, lidos de um arquivo etc.
Isso, pois você vai precisar de um valor para cada nota, mesmo que seja um exercicio de lógica, você ira ter que receber as notas, usando um Buffered, um JOptionPane, um Scanner ou mesmo fixar as notas.
marineli
Não tem um jeito de fazer sem numero, mesmo q não for em java, só o basico, \Logica mesmo?
LucasAdri07
Do jeito que está, ele está só uma estrutura de um aplicativo, que ainda não pode ser executada, pois não tem valores.
Se for um exercicio que seu professor pediu, e você tem que mostrar os numeros, você precisa ter os valores deles, seja de um arquivo, digitado pelo usuario, ou fixado por você.
marineli
Não precisa mostrar numero, é só fazer um programa que leia seis notas, exclua a maior e a menor e some as demais.
Só isso, sem números, só o básico mesmo…
tipo…
numero = ler numero;
Essas coisas…
LucasAdri07
marineli:
Não precisa mostrar numero, é só fazer um programa que leia seis notas, exclua a maior e a menor e some as demais.
Só isso, sem números, só o básico mesmo…
tipo…
numero = ler numero;
Essas coisas…
Entendo, então você não ira executar? Pois esse aplicativo está morto do jeito que está, não podera ser executado.
marineli
Isso, não vou executar.
Mais pra eu executar é só passar valores, certo?
ViniGodoy
Olá Marineli. Por favor, quando postar códigos, use a tag code:
[code]
Seu código
[/code]
Senão fica muito difícil para lermos.
Frantic_Avenger
Bom para acabar com esse "Precisa de número ou não precisa" segue o código, passando os números por parâmetro (Não tá bem feito) :lol:
publicclassTesteParametro{publicstaticvoidmain(String[]args){intmenor=Integer.parseInt(args[0]);intmaior=Integer.parseInt(args[0]);intsoma=0;if(args.length<3){System.out.println("Insira mais números");System.exit(0);}for(inti=0;i<args.length;i++){if(Integer.parseInt(args[i])>maior){maior=Integer.parseInt(args[i]);}if(Integer.parseInt(args[i])<menor){menor=Integer.parseInt(args[i]);}soma+=Integer.parseInt(args[i]);}soma=soma-maior-menor;System.out.println(soma);}}
Flw
marineli
Desculpa, pode deixar…
LucasAdri07
marineli:
Isso, não vou executar.
Mais pra eu executar é só passar valores, certo?
Sim, você tem que receber valores, seja digitado pelo usuarios, ou fixado por você.
Estou tentando fazer cada posição do array receber um valor.
+/- assim.
Integer notas[] = new Integer[5];
int maior = notas[0];
notas[0] = 3;
notas[1] = 8;
notas[2] = 12;
notas[3] = 15;
notas[4] = 7;
int menor = notas[0];
int notaFinal = 0;
Nesse caso seria fixado pelo programador, mais ele apresenta um erro na segunda linha, o que pode ser?
Para colocar a tag code (não COD), basta selecionar seu código todo e clicar no botão Code, que existe logo abaixo do título, quando vc está escrevendo mensagem.
Oi! Marineli, acredito que é isso, localiza o maior e o menor e soma os diferentes:
publicclassMaiorMenor{publicstaticvoidmain(String[]args){intvalores[]=newint[5];valores[0]=15;valores[1]=8;valores[2]=65;valores[3]=32;valores[4]=60;intmenor=valores[0];//Considera a primeira posição como menorintmaior=valores[valores.length-1];//considera a última posição como maiorintsomaTotal=0;//soma dos valores exceto o maior e menor//procura pelo maior e menorfor(intprocura=0;procura<=valores.length-1;procura++){if(valores[procura]<menor){menor=valores[procura];}if(valores[procura]>maior){maior=valores[procura];}}// soma valores exceto o maior e o menor valorfor(intsoma=0;soma<=valores.length-1;soma++){if(valores[soma]<maior&&valores[soma]>menor){somaTotal+=valores[soma];}}System.out.printf("Menor é: %d \nMaior é: %d\nSoma:%d",menor,maior,somaTotal);}}
Resposta:
Menor é: 8
Maior é: 65
Soma:107
Abraço!!!
D
Damiao_Cunha
é só vc fazer o metodo recebendo como parametro o vetor…assim n precisaria digitar, só faria a logica…
é sempre bom testar né…
vlw
LucasAdri07
luizfernandorg:
Oi! Marineli, acredito que é isso, localiza o maior e o menor e soma os diferentes:
publicclassMaiorMenor{publicstaticvoidmain(String[]args){intvalores[]=newint[5];valores[0]=15;valores[1]=8;valores[2]=65;valores[3]=32;valores[4]=60;intmenor=valores[0];//Considera a primeira posição como menorintmaior=valores[valores.length-1];//considera a última posição como maiorintsomaTotal=0;//soma dos valores exceto o maior e menor//procura pelo maior e menorfor(intprocura=0;procura<=valores.length-1;procura++){if(valores[procura]<menor){menor=valores[procura];}if(valores[procura]>maior){maior=valores[procura];}}// soma valores exceto o maior e o menor valorfor(intsoma=0;soma<=valores.length-1;soma++){if(valores[soma]<maior&&valores[soma]>menor){somaTotal+=valores[soma];}}System.out.printf("Menor é: %d \nMaior é: %d\nSoma:%d",menor,maior,somaTotal);}}
Resposta:
Menor é: 8
Maior é: 65
Soma:107
Abraço!!!
Cara, então pelo o que eu entendi no seu, você ja definiu qual é o maior e o menor, você não fez o programa achar qual era certo?
E eu consegui fazer o meu dar certo:
publicclassArray2{publicstaticvoidmain(String[]args){Integernotas[]=newInteger[5];intmaior=0;notas[0]=3;notas[1]=8;notas[2]=12;notas[3]=15;notas[4]=7;intmenor=Integer.MAX_VALUE;// MAX_VALUE é o maior valor que pode ser usado em Java.intnotaFinal=0;for(inti=0;i<notas.length;i++){if(notas[i]<menor){menor=notas[i];//Procura qual a menor nota}if(notas[i]>maior){maior=notas[i];//Procura qual a maior nota}notaFinal=notaFinal+notas[i];}System.out.println(notaFinal-menor-maior);// Exibe a soma das notas desprezando a maior e a menor notaSystem.out.println(menor);System.out.println(maior);}}
Eu estava fazendo a subtração dentro do for, depois que percebi que teria que fazer fora do for :D
LucasAdri07
Consegui montar um usando o JOptionPane, nesse caso o usuario digitara o valor da nota:
importjavax.swing.JOptionPane;publicclassArray2{publicstaticvoidmain(String[]args){Integernotas[]=newInteger[5];intmaior=0;intmenor=Integer.MAX_VALUE;intnotaFinal=0;notas[0]=Integer.parseInt(JOptionPane.showInputDialog("Digite uma nota"));// Joga o valor digita pelo usuario na posição 0notas[1]=Integer.parseInt(JOptionPane.showInputDialog("Digite uma nota"));// Joga o valor digita pelo usuario na posição 1notas[2]=Integer.parseInt(JOptionPane.showInputDialog("Digite uma nota"));// Joga o valor digita pelo usuario na posição 2notas[3]=Integer.parseInt(JOptionPane.showInputDialog("Digite uma nota"));// Joga o valor digita pelo usuario na posição 3notas[4]=Integer.parseInt(JOptionPane.showInputDialog("Digite uma nota"));// Joga o valor digita pelo usuario na posição 4for(inti=0;i<notas.length;i++){if(notas[i]<menor){menor=notas[i];}if(notas[i]>maior){maior=notas[i];}notaFinal=notaFinal+notas[i];}JOptionPane.showMessageDialog(null,"Soma das notas desprezando a maior e a menor nota: "+(notaFinal-menor-maior));JOptionPane.showMessageDialog(null,"Menor nota: "+menor);JOptionPane.showMessageDialog(null,"Maior nota: "+maior);}
Só que eu tenho uma duvida, por exemplo o o cliente tem que digitar em 80 valores (isso é um absurdo, mas estou supondo) eu teria que criar 80 JOptionPane para jogar um valor em cada posição, ou eu posso usar um loop para ele exibir 80 vezes a mensagem e ir jogando o valor para cada posição?
Valeu...
L
luizfernandorg
Um Loop seria melhor
L
luizfernandorg
Que tal assim: achei muito legal!!!
importjavax.swing.JOptionPane;publicclassMaiorMenor{publicstaticvoidmain(String[]args){intvalores[]=newint[5];Stringentrada="";// obtendo números do usuáriofor(intinput=0;input<=valores.length-1;input++){valores[input]=Integer.parseInt(JOptionPane.showInputDialog("Digite um número?"));entrada+=String.format("%d\n",valores[input]);}JOptionPane.showMessageDialog(null,"Números digitados:\n"+entrada);intmenor=valores[0];// Considera a primeira posição como menorintmaior=valores[valores.length-1];//considera a última posição maiorintsomaTotal=0;// soma dos valores exceto o maior e menor// Procura pelo maior e menorfor(intprocura=0;procura<=valores.length-1;procura++){if(valores[procura]<menor){menor=valores[procura];}if(valores[procura]>maior){maior=valores[procura];}somaTotal+=valores[procura];}somaTotal-=(maior+menor);// Incrementando um pouco mais,Stringordenados="";// Ordenando os valoresfor(inti=0;i<valores.length;i++){for(intj=i;j<valores.length;j++){if(valores[j]<valores[i]){inttemp=valores[j];valores[j]=valores[i];valores[i]=temp;}}ordenados+=String.format(" %d ",valores[i]);}JOptionPane.showMessageDialog(null,"Em ordem:\n"+ordenados);StringsaidaFinal=String.format("Menor: %d\nMaior: %d\nSoma: %d (Menos maior e menor)",menor,maior,somaTotal);JOptionPane.showMessageDialog(null,saidaFinal);}}