/** Faça um programa que recebe a quantia de funcionários de uma loja e calcula o
total das vendas de todos os funcionários, e informe o nome e o valor vendido do
funcionário que mais vendeu e o do que menos vendeu.
*/
public class vendas {
public static void main (String [] args) {
Scanner input=new Scanner(System.in);
int x=0;
double total=0,menor=0,maior=0;
String maior_n =“a”, menor_n =“b”;
String vendedor[]=new String[x];
double totalvendas[]=new double[x];
System.out.println(“Quantos vendedores trabalham nessa loja?”);
x=input.nextInt();
for(int a=0;a<x;a++){
System.out.println("Informe o nome do "+(a+1)+ “° vendedor”);
vendedor[a]=input.next();
System.out.println(“Informe o valor da venda do “+vendedor[a]+”.”);
totalvendas[a]=input.nextDouble();
total=total+totalvendas[a];
if(a==0){
menor_n=vendedor[a];
menor=totalvendas[a];
}
if(a==0){
maior_n =vendedor[a];
maior= totalvendas[a];
}
if(totalvendas[a]<menor){
menor=totalvendas[a];
menor_n=vendedor[a];
}
if(totalvendas[a]>maior){
maior=totalvendas[a];
maior_n=vendedor[a];
}}
for(int a=0;a<x;a++){
System.out.println(“O total das vendas é: R$”+total);
System.out.println(“O vendedor " +menor_n+ " teve o menor valor de vendas totalizando “+menor+”.”);
System.out.println(“O vendedor “+maior_n+” teve o maior valor de vendas totalizando “+maior+”.”);
}
}}
Toda vez que eu executo ele, ele pede quantos funcionários tem na loja e eu informo normalmente, quando ele pede o nome do primeiro funcionário e eu informo, ele da um erro que não sei como resolver.
import java.util.Scanner;
public class vendas {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int x = 0;
double total = 0, menor = 0, maior = 0;
String maior_n = "a", menor_n = "b";
String vendedor[] = new String[9999];
double totalvendas[] = new double[9999];
System.out.println("Quantos vendedores trabalham nessa loja ?");
x = input.nextInt();
for (int a = 0; a < x; a++) {
System.out.println("Informe o nome do " + (a + 1) + "° vendedor");
vendedor[a] = input.next();
System.out.println("Informe o valor da venda do {}" + vendedor[a] + ".");
totalvendas[a] = input.nextDouble();
total = total + totalvendas[a];
if (a == 0) {
menor_n = vendedor[a];
menor = totalvendas[a];
}
if (a == 0) {
maior_n = vendedor[a];
maior = totalvendas[a];
}
if (totalvendas[a] < menor) {
menor = totalvendas[a];
menor_n = vendedor[a];
}
if (totalvendas[a] > maior) {
maior = totalvendas[a];
maior_n = vendedor[a];
}
}
for (int a = 0; a < x; a++) {
System.out.println("O total das vendas é: R$" + total);
System.out.println("O vendedor " + menor_n + " teve o menor valor de vendas totalizando " + menor + ".");
System.out.println("O vendedor " + maior_n + "teve o maior valor de vendas totalizando " + maior + ".");
}
}
}
Seu problema estava dentro do seu array, quando voce digitava o nome ele explodia o array por nao ter espaço, aumentei pra 9999 e tudo certo.
sim poderia, por padrao quando uma variavel nao e inicializada o java atribui a um double o valor “0.0” mas por bons constumes e sempre bom inicializar.
mas pode acontecer de algumas vezes a variavel PEDIR pra ser inicializada.
Voce esta dizendo que esse vetor vai conter 9999 indices, ou seja, ele tem um espaco de 9999 caracteres, numeros etc… mudando o tipo dele voce pode armazenar o que quiser…