Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Duvida em fazer um programa em java

Eu fiz esse primeiro programa e até aí deu tudo correto Faça um programa para imprimir na tela um Menu conforme o exemplo abaixo. O usuário deverá digitar a opção desejada. O programa deverá realizar o cálculo desejado. Menu Escolha uma das opções abaixo: 1 – para somar. 2 – para subtrair. 3 - para multiplicar. 4 – parar dividir. 5 - para sair.

package Aula7e8;

import java.util.Scanner;

public class Ex2 {
    public static void main(String[] args) {
        Scanner ler = new Scanner(System.in);

        System.out.println("Este programa realiza a função de calculadora");

        System.out.println("Escolha uma das opções abaixo:");
        System.out.println("1 - Somar");
        System.out.println("2 - Subtrair");
        System.out.println("3 -  para multiplicar.");
        System.out.println("4 – para dividir.");
        System.out.println("5 - Sair");
        int op = ler.nextInt();
        int n1, n2, n3, n4, n5;

        System.out.println("Digite o Primeiro Número:");
        n1 = ler.nextInt();
        System.out.println("Digite o Segunto Número:");
        n2 = ler.nextInt();
        System.out.println("Digite o terceiro número");
        n3 = ler.nextInt();
        System.out.println("Digite o quarto número");
        n4 = ler.nextInt();


        if (op == 1)
            System.out.println("O total da Soma é:" + (n1 + n2+n3+n4));
        else if (op == 2)
            System.out.println("O total da subtração é:" + (n1 - n2-n3-n4));
        else if (op == 3)
            System.out.println("A multiplicação é: " + (n1 * n2*n3*n4));
        else if (op == 4)
         System.out.println("A divisão é: " + (n1 / n2/n3/n4));
        else if (op == 5)


            System.out.println("Você escolheu sair do programa:");
        else
            System.out.println("Opção Inválida:");
        System.out.println("FIM");

        ler.close();
    }
}

Depois veio o segundo programa e não consegui fazer

Refaça o exercício anterior, dessa vez o menu será diferente. Usará palavras (String) para escolher a opção desejada. Digite uma das opções abaixo: somar – para somar. subtrair – para subtrair. multiplicar – para multiplicar. dividir – parar dividir. sair – para sair.

import java.util.Scanner;

public class TesteFinal {
    public static void main(String[] args) {
        Scanner ler = new Scanner(System.in);

        System.out.println("Este programa realiza a função de calculadora");

        System.out.println("Escolha uma das opções abaixo:");
        System.out.println("1 - Somar");
        System.out.println("2 - Subtrair");
        System.out.println("3 -  para multiplicar.");
        System.out.println("4 – para dividir.");
        System.out.println("5 - Sair");

        String somar,subtrair,multiplicar,dividir,sair;
         somar= ler.next();
         System.out.println(somar.equals("somar")); 
         subtrair=ler.next();
         System.out.println(subtrair.equals("subtrair"));
         multiplicar=ler.next();
         System.out.println("multiplicar");
         dividir=ler.next();
         System.out.println("dividir");


         sair=ler.next();
         System.out.println("sair");

         System.out.println("numero");
         int n1 = ler.nextInt();
         System.out.println("numero");
            int n2 = ler.nextInt();
         System.out.println("numero");
             int n3 = ler.nextInt();    
             System.out.println("Digite o quarto número");
                int n4 = ler.nextInt();


        if (somar.equals("somar")) 
            System.out.println("O total da Soma é:" + (n1 + n2+n3+n4));
         if (subtrair.equals("subtrair"))
            System.out.println("O total da subtração é:" + (n1 - n2-n3-n4));
         if (multiplicar.equals("multiplicar"));
            System.out.println("A multiplicação é: " + (n1 * n2*n3*n4));
         if (dividir.equals(dividir));
         System.out.println("A divisão é: " + (n1 / n2/n3/n4));

         if(sair.equals("sair")) 
            System.out.println("Você escolheu sair do programa:");

        ler.close();
    }
}

Quem poder me ajudar ,ficaria grato

4 respostas

Qual foi o erro que deu? A palavra não está sendo lida?

Eu queria que quando eu digitasse por exemplo subtrair,ele calculasse a subtração de quatro numeros,o compilador tá dando isso aqui Este programa realiza a função de calculadora Escolha uma das opções abaixo: 1 - Somar 2 - Subtrair 3 - para multiplicar. 4 – para dividir. 5 - Sair numero 1 numero 3 numero 4 Digite o quarto número 5

6 false 6 false 6 multiplicar

solução!

Fala Vitor, tudo bom?

Detectei alguns problemas no seu código, estou colocando seu código abaixo e farei os devidos apontamentos

import java.util.Scanner;

public class TesteFinal {
    public static void main(String[] args) {
        Scanner ler = new Scanner(System.in);

        System.out.println("Este programa realiza a função de calculadora");

        System.out.println("Escolha uma das opções abaixo:");
        System.out.println("1 - Somar");
        System.out.println("2 - Subtrair");
        System.out.println("3 -  para multiplicar.");
        System.out.println("4 – para dividir.");
        System.out.println("5 - Sair");

    //No bloco abaixo, você imprime se o conteudo das variaveis é igual as strings "somar", "subtrair", por isso seu programa está retornando false algumas vezes

        String somar,subtrair,multiplicar,dividir,sair;
         somar= ler.next();
         System.out.println(somar.equals("somar")); 
         subtrair=ler.next();
         System.out.println(subtrair.equals("subtrair"));
         multiplicar=ler.next();
         System.out.println("multiplicar");
         dividir=ler.next();
         System.out.println("dividir");


         sair=ler.next();
         System.out.println("sair");

         System.out.println("numero");
         int n1 = ler.nextInt();
         System.out.println("numero");
            int n2 = ler.nextInt();
         System.out.println("numero");
             int n3 = ler.nextInt();    
             System.out.println("Digite o quarto número");
                int n4 = ler.nextInt();

// Nesse bloco, você utiliza ifs sem as {}, mas repare que você está colocando ; no final de alguns, isso também está gerando um problema onde eles está imprimindo resultados indevidos.
        if (somar.equals("somar")) 
            System.out.println("O total da Soma é:" + (n1 + n2+n3+n4));
         if (subtrair.equals("subtrair"))
            System.out.println("O total da subtração é:" + (n1 - n2-n3-n4));
         if (multiplicar.equals("multiplicar"));
            System.out.println("A multiplicação é: " + (n1 * n2*n3*n4));
         if (dividir.equals(dividir));
         System.out.println("A divisão é: " + (n1 / n2/n3/n4));

         if(sair.equals("sair")) 
            System.out.println("Você escolheu sair do programa:");

        ler.close();
    }
}

Outra coisa a se pensar é a necessidade de ter todas essas variáveis. Você pode armazenar a opção do usuário em uma variável genérica, por exemplo opcao e depois comparar as strings utilizando o .equals, não há necessidade de se ter todas essas variáveis. Tomei a liberdade de modificar alguns pontos do seu código, dê uma olhada abaixo:

import java.util.Scanner;

public class teste {
    public static void main(String[] args) {
        Scanner ler = new Scanner(System.in);
        String opcao;


        System.out.println("Este programa realiza a função de calculadora");

        System.out.println("Escolha uma das opções abaixo:");
        System.out.println("1 - Somar");
        System.out.println("2 - Subtrair");
        System.out.println("3 -  para multiplicar.");
        System.out.println("4 – para dividir.");
        System.out.println("5 - Sair");
        opcao = ler.next();




         System.out.println("numero");
         int n1 = ler.nextInt();
         System.out.println("numero");
         int n2 = ler.nextInt();
         System.out.println("numero");
         int n3 = ler.nextInt();    
         System.out.println("Digite o quarto número");
         int n4 = ler.nextInt();



        if (opcao.equalsIgnoreCase("somar")) 
            System.out.println("O total da Soma é:" + (n1 + n2+n3+n4));

        if (opcao.equalsIgnoreCase("subtrair"))
            System.out.println("O total da subtração é:" + (n1 - n2-n3-n4));

        if (opcao.equalsIgnoreCase("multiplicar"))
            System.out.println("A multiplicação é: " + (n1 * n2*n3*n4));

        if (opcao.equalsIgnoreCase("dividir"))
            System.out.println("A divisão é: " + (n1 / n2/n3/n4));

         if(opcao.equalsIgnoreCase("sair")) 
            System.out.println("Você escolheu sair do programa:");

        ler.close();
    }
}

Repare que estou usando outra função para comparar as strings (equalsIgnoreCase). Ela tem a mesma função da equals, mas ignora se as letras estão em maiúsculo ou minúsculo, uma vez que não sabemos como o usuário vai escrever sua opção!

Espero ter ajudado!

Abraços e bons estudos!

Muito bom!Vc me ajudou bastante,não sabia dessa função,muito obrigado!!