Ir ao conteúdo

Posts recomendados

Postado

Bom dia, Clube do Hardware. Estou com um problema que provavelmente deve ser uma besteira, ou não... Eu fiz a lógica correta e o programa não me retorna o que quero.

Quero contar os clientes(Isso ele até faz) e também quero somar as todas as compras. Segue o código:

//Tentei desse jeito

public class Quest4 {
    public static void main(String[] args){
       
        String nomeCliente = null, chec = null;
        double valorCompra = 0, soma = 0;
        Scanner scanf = new Scanner(System.in);
        int cont=0;             
        
       for(int i=0; ("FIM".equalsIgnoreCase(chec)!= true); i++){
           System.out.println("Digite o nome da pessoa:\n");
           nomeCliente = scanf.next();
           cont++;
           
           System.out.println("Digite o preço da compra:\n");
           valorCompra = scanf.nextDouble();
           soma=valorCompra+soma;
           
           System.out.println("Digite FIM para sair:\n");
           chec = scanf.next();
          
           
       }
        
       
        System.out.printf("\nForam cadastrados %d clientes e a soma total das compras deram %.2f\n",cont,valorCompra);
        
    }
    
}

//Desse também

public class Quest4 {
    public static void main(String[] args){
       
        String nomeCliente = null, chec = null;
        double valorCompra = 0, soma = 0;
        Scanner scanf = new Scanner(System.in);
        int cont=0;
        
        
      while(true){
           System.out.println("Digite o nome da pessoa:");
           nomeCliente = scanf.next();
           cont++;
           
           System.out.println("Digite o preço da compra:");
           valorCompra = scanf.nextDouble();
           soma=valorCompra+soma;
           
           System.out.println("Digite FIM para sair:\n");
           chec = scanf.next();
           
           if(chec=="FIM"){
               break;
           }
          
           
       }
        
       
        System.out.printf("\nForam cadastrados %d clientes e a soma total das compras deram %.2f\n",cont,valorCompra);
        
    }
    
}




//Esse aqui também

public class Quest4 {
    public static void main(String[] args){
       
        String nomeCliente = null, chec = null;
        double valorCompra = 0, soma = 0;
        Scanner scanf = new Scanner(System.in);
        int cont=0;
        
        
      do{
           System.out.println("Digite o nome da pessoa:");
           nomeCliente = scanf.next();
           cont++;
           
           System.out.println("Digite o preço da compra:");
           valorCompra = scanf.nextDouble();
           soma=valorCompra+soma;
           
           System.out.println("Digite FIM para sair:");
           chec = scanf.next();
      
       }while(chec!="FIM");
        
       
        System.out.printf("\nForam cadastrados %d clientes e a soma total das compras deram %.2f\n",cont,valorCompra);
        
    }
    
}

 

Postado

Não se compara String com "==" nem "!=", mas sim com "equals", então ficaria "while(chec.equals("FIM"));" e quando for diferente ( != ) "while(!chec.equals("FIM"));"

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!