[RESOLVIDO] Dúvida no array

7 respostas
Paulo_Mour

Boa tarde Srs. Alguém poderia me tirar algumas dúvidas no aplicativo abaixo ?
1 - O Array nome, ao invés de números, gostaria de colocar o nome dos vendedores(String nome) mas quando altero, o programa acusa erro. Como posso fazê-lo;
2 - Na saída da coluna comissao não consigo fazer com que o programa trabalhe com 2 casas decimais para todos os resultados.

Antecipadamente agradeço.

Paulo

import java.util.Scanner;

public class ComissaoVenda
{

       public static void main(String[] args)
       {
               
               int nome[] = {1, 2, 3, 4, 5};
               double vendaSemanal[] = {4500, 12620, 3480.17, 8525, 9600};
               
               System.out.printf("%s%15s%15s\n","Vendedor","Venda Semanal","Comissao");

               double salarioSemanal = 200.00;
               double percentual = 0.09;

               int counter = 0;

               for(counter = 0; counter < nome.length; counter++)
               {
                       for(counter = 0; counter < vendaSemanal.length; counter++)
                       {
                       	       double comissao = salarioSemanal + (percentual * vendaSemanal[counter]);

                               System.out.printf("%4s%18s%14s\n",nome[counter],vendaSemanal[counter],(double)comissao);
                               
                       }

               }
       }

}//fim da classe ComissaoVenda

7 Respostas

M

Ó companheiro! CÊ postou o mesmo tópico por três vezes! Não faça isto!

Paulo_Mour

Srs, desculpe mas a culpa não foi minha. Quando cliquei em enviar, apareceu uma mensagem de erro que permaneceu. Qdo finalmente consegui sair percebi que havia mais de uma mensagem. Tentei remover mas não consegui.

H
public class ComissaoVenda
{

       public static void main(String[] args)
       {

               String[] nome = {"Joao" , "Carlos", "Cesar" , "Paulo", "Marcos"};
               double vendaSemanal[] = {4500, 12620, 3480.17, 8525, 9600};

               System.out.printf("%s%15s%15s\n","Vendedor","Venda Semanal","Comissao");

               double salarioSemanal = 200.00;
               double percentual = 0.09;

               int counter = 0;

               for(counter = 0; counter < nome.length; counter++)
               {
                       
                       	       double comissao = salarioSemanal + (percentual * vendaSemanal[counter]);

                               //System.out.printf("%4s%18s%14s\n",nome[counter],vendaSemanal[counter],(double)comissao);
                               System.out.printf("%s  %.2f  %.2f \n"  ,nome[counter],vendaSemanal[counter],(double)comissao);
                       

               }
       }

}//fim da classe ComissaoVenda

VÊ se é isso que você quer. O %.2f exibe o valor com duas casas decimais. Eu só não entendi o cast (double) em comissão.
E esses 2 for com a mesma varíavel pro índice. Também não saquei.

M

Ok! Qual é o erro que acontece. Mostre o código conforme você o faria…
Aquele abraço!
Lue

marcelo.bellissimo

Acontece, vários cliques no submit…

Quanto á pergunta 1, qual o problema? É só mudar de int pra String, e colocar os valores entre aspas:

String nome[] = {"1", "2", "3", "4", "5"};

Segunda pergunta, dá pra fazer isso:

DecimalFormat duasCasas = new DecimalFormat("#.##"); duasCasas.setMinimumFractionDigits(2); System.out.printf("%4s%18s%14s\n",nome[counter],vendaSemanal[counter],duasCasas.format(comissao));

Paulo_Mour

Srs, agradeço a atenção e rápida resposta para o que eu postei.
HLustosa: os 2 For para mesma variável que utilizei é porque ainda estou aprendendo, por isso fiz desta forma, mas seu questionamento me fará ver a coisa de outra maneira.
Marcelo.Belissimo: A classe DecimalFormat facilitou a conclusão. Nunca tinha utilizado ela. Tenho de ler mais sobre as classes.
Mais uma vez obrigado e abraços.

Paulo_Mour

Pedro Henrique, obrigado pela ajuda.
Abs,
Paulo

Criado 18 de maio de 2010
Ultima resposta 18 de mai. de 2010
Respostas 7
Participantes 4