Escreva um programa em Java, com uma única classe, para calcular a média de gastos de uma pessoa no Shopping. No método main, o programa deve perguntar ao usuário quantas compras ele faz em uma tarde no shopping. Para cada compra, o programa deve perguntar o valor gasto. O programa deve, então, calcular a média de gastos. Ou seja, o somatório dos gastos dividido pela quantidade de compras. Por fim, o programa deve informar ao usuário qual é a média de gastos dele por compra.
publicstaticvoidmain(String[]args){intcompras;Scanneraux=newScanner(System.in);System.out.println("Quantas Compras você realizou");for(inti=0;i<compras;i++){System.out.printf("O valor da compra %d foi \n: ",i+1);}
Como faço para informar o preço de cada compra e depois somar tudo?
Boa noite, acredito que será mais ou menos assim, porém depende muito do que foi passado pra você, pois acredito que trabalhar com expressões lambdas e lista, seria mais intuitivo:
ScannerleitorDeValores=newScanner(System.in);StringvalorCompra="";inttotalCompra=0;intqntCompra=0;do{System.out.print("Digite o valor da compra: ");valorCompra=leitorDeValores.nextLine();if(valorCompra.equals("0")){break;}totalCompra+=Integer.valueOf(valorCompra);System.out.println("Valor da compra: "+valorCompra);qntCompra++;}while(true);System.out.println("Média Total das Compras: "+(totalCompra/qntCompra));
WillianC19
Por exemplo, dessa forma aqui acho que ficaria melhor:
publicstaticvoidmain(String[]args){List<Double>listaDasCompras=newArrayList<>();while(true){System.out.print("Digite o valor da compra: ");doublevalor=console();if(valor==0){//digite 0 para finalizar a inserçãobreak;}listaDasCompras.add(valor);}System.out.println();NumberFormatreais=NumberFormat.getCurrencyInstance(newLocale("pt","BR"));listaDasCompras.stream().forEach(e->System.out.printf("%s : %s\n","Valor da compra",reais.format(e)));doubletotalDasCompras=0;for(doublevalor:listaDasCompras){totalDasCompras+=valor;}System.out.println();System.out.println("Valor total das compras: "+reais.format(totalDasCompras));System.out.println("Média das compras: "+reais.format(totalDasCompras/listaDasCompras.size()));}privatestaticdoubleconsole(){Scannerscan=newScanner(System.in);doublevalor=scan.nextDouble();returnvalor;}