Curso de Java - Aula 13 - Calculadora 2.0 - eXcript

preview_player
Показать описание
#java #eXcript

Nesta aula iremos desenvolver uma segunda versão da nossa calculadora. O principal objetivo e adicionar as ferramentas de programação que aprendemos em aulas passadas para conseguir uma calculadora melhor. Então, um dos objetivos é analisarmos o que podíamos fazer quando desenvolvemos a primeira versão da nossa calcualadora e o que podemos fazer agora que aprendemos mais ferramentas de programação.

Рекомендации по теме
Комментарии
Автор

Já fiz 3 cursos de java, e estou fazendo este agora! esse é o que mais ta explicando.

CraftLandGames
Автор

Estou aprendendo bastante. Obrigado eXcript!!!

Dei uma incrementada no código da aula. Ficou um pouco diferente, mas acredito ter alcançado os meus objetivos.

package com.excript.aula13;
import java.util.Scanner;

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

int op;
double n1, n2, result;

System.out.println("Digite 1 para SOMAR");
System.out.println("Digite 2 para SUBTRAIR");
System.out.println("Digite 3 para MULTIPLICAR");
System.out.println("Digite 4 para DIVIDIR");

System.out.print("\nCódigo da operação escolhida: ");
op = tcl.nextInt();

if (op < 1 || op > 4) {
Inválida!!!");
} else {
System.out.print("\n\nDigite o 1° número: ");
n1 = tcl.nextDouble();
System.out.print("Digite o 2° número: ");
n2 = tcl.nextDouble();

if (op == 1) {
result = n1 + n2;
} else if (op == 2) {
result = n1 - n2;
} else if (op == 3) {
result = n1 * n2;
} else {
result = n1 / n2;
}

//System.out.println("\n\nO resultado da operação é: " + result);
System.out.printf("\n\nO resultado da operação é: %.2f", result);
}
}
}

refeeln
Автор

Suas aulas são ótimas!!! vou divulgar teu trabalho, pois infelizmente existem poucas pessoas interessadas em aprender... e quando digo aprender é num contexto geral, como aprender a programar ou aprender qualquer outra coisas de qualquer outra profissão, mas isso acaba sendo uma coisas boa, pois quem tem interesse de verdade acaba se dando bem :D

AurelianoGamer
Автор

este sem duvida e um curso de primeira linha !

didimarinhoo
Автор

Maravilhosas as Estão de parabéns.... Sou fã numero 1

wandersondino
Автор

Muito bom professor. Acredito que esse exemplo apareça com o comando switch case tmb mais a frente no curso. ✌👍

robertoadami
Автор

estava temdo um problema com o codigo mais deu certo dps de tanto treina.

JVRM
Автор

Muito boa as aulas ... Parabéns pelo trabalho !!!

jarlisonsilva
Автор

Professor, parabéns pelas aulas! Estou acompanhando e anotando cada explicação. Como eu já tinha experiência com a linguagem vb, as aulas ficam mais fáceis de se entender. No meu caso eu fiz como o explicado e depois tentei do meu jeito (com base na outra linguagem) usando o "else if" e não surgiu problemas!

Fonte:
Scanner copiar = new Scanner(System.in);

System.out.println("Digite 1 para somar");
System.out.println("Digite 2 para subtrair");
System.out.println("Digite 3 para multiplicar");
System.out.println("Digite 4 para dividir");
int escolha = copiar.nextInt();


System.out.println("Digite 1° número:");
double num1 = copiar.nextDouble();

System.out.println("Digite 2° número:");
double num2 = copiar.nextDouble();

if (escolha == 1)
{
System.out.println(num1 + num2);
}
else if (escolha == 2)
{
System.out.println(num1 - num2);
}
else if (escolha == 3)
{
System.out.println(num1 * num2);
}
else if (escolha == 4)
{
System.out.println(num1 / num2);
}
else
{
invalida!");
}

flavioeverton
Автор

Professor, eu fiz uma leve modificação e funcionou bem. Coloque a mensagem de "operação invalida" logo depois da declaração da variável i, o resto do código dentro da condição if, caso i seja menor ou igual a 4 e menor ou igual a 1, assim poupa um tempo, pois aparecia as mensagens para digitar os valores, mesmo selecionando uma operação inválida. :)

package _aula_013_java;

import java.util.Scanner;

public class Calculadora_V2 {

public static void main(String[] args){


    Scanner in = new Scanner(System.in);

    System.out.println("Digite 1 para somar.");
    System.out.println("Digite 2 para subtrair.");
    System.out.println("Digite 3 para multiplicar.");
    System.out.println("Digite 4 para dividir.");

       
        int i = in.nextInt();


        if(i > 4 || i < 1){      //usando o operador lógico "||" para especificar os parametros.
        System.out.println("Operação inválida!");
        }else{

               System.out.println("Digite o primeiro numero: ");
                      double num1 = in.nextDouble();

               System.out.println("Digite o segundo numero: ");
                     double num2 = in.nextDouble();

       if(i == 1){
              System.out.println(num1 + num2);
       }
       else{
              if(i == 2){
                     System.out.println(num1 - num2);
       }
              else{
                     if(i == 3){
                          System.out.println(num1 * num2);
       }
                     else{
                          if(i == 4){
                                 System.out.println(num1 / num2);
                                        }
                                 }
                          }
                     }
              }
       }
}

artDspeed
Автор

O meu esta apontando problema nos três else, só que esta tudo do mesmo jeito que ai, qual deve ser o problema?

ronalderamos
Автор

eu estou estudando usando a ide netbens muito boa por sinal; sout=tecla tab==System.out.println(); obrigado professor assim que eu melhorar te envio uma grana ai para ajudar, vc é 100% fessor

mastertop
Автор

Eclipse padrão utilizamos o Ctrl + espaço para completar a linha de uma instrução

ajalalex
Автор

Só uma correção, em torno de 50s vc fala em "ctrl+tab" para mostrar o comando de saída de resultado. Mas na verdade é "Ctrl+espaço".

mauriciomaciel
Автор

Professor, boa tarde! Eu fiz primeiramente fazendo o usuário digitar [1, 2, 3, 4] pra somar, subtrair, multiplicar e dividir respectivamente, informando essas variáveis do tipo double, funcionou.

Mas eu quis transformá-las em Strings e não funcionou. Sabe me dizer o porquê? Segue código:

package tentativa3;
import java.util.Scanner;
public class ide3 {

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

double num1, num2;
String option;

System.out.println("Escreva o primeiro número");

num1= in.nextDouble();

System.out.println("Escreva o segundo número");
num2 = in.nextDouble();


System.out.println("Para somar, digite 'so': ");
System.out.println("Para subtrair, digite 'sub': ");
System.out.println("Para multiplicar, digite 'mult': ");
System.out.println("Para dividir, digite 'div': ");

option=in.next();

if (option=="so"){

}else{
if(option=="sub"){

}else{
if(option=="mult"){

}else{
System.out.print(num1/num2);
}
}
}




}
}

tchupixi
Автор

Professor, fiz uma calculadora que digamos, que tem resto de divisão e no final pergunta se deseja fazer raiz quadrada XD


package calculadora;

import java.util.Scanner;

public class calculadora {

public static void main(String[] args){

Scanner in = new Scanner (System.in);


System.out.println("Digite 1 para somar");

System.out.println("Digite 2 para subtrair");

System.out.println("Digite 3 para multiplicar");

System.out.println("Digite 4 para dividir");

System.out.println("Digite 5 para resto de divisão");


int i = in.nextInt();

System.out.println("Digite o primeiro número: ");
double num1 = in.nextDouble();

System.out.println("Digite o segundo número: ");
double num2 = in.nextDouble();

if( i==1){
double numso =  num1 + num2;
System.out.println("O resultado da soma foi " + numso);

System.out.println("Deseja fazer raiz quadrada? [S/N]");
String e = in.next("S");
System.out.println("Digite um número: ");
double num3 = in.nextDouble();
System.out.println("O resultado da raiz quadrada é: " + Math.sqrt(num3));


}else{

if ( i==2 ){
double numsu =  num1 - num2;
System.out.println("O resultado da subtração foi " + numsu);

System.out.println("Deseja fazer raiz quadrada? [S/N]");
String e = in.next("S");
System.out.println("Digite um número: ");
double num3 = in.nextDouble();
System.out.println("O resultado da raiz quadrada é: " + Math.sqrt(num3));


}else{

if ( i==3 ){
double nummu =  num1 * num2;
System.out.println("O resultado da multiplicação foi " + nummu);

System.out.println("Deseja fazer raiz quadrada? [S/N]");
String e = in.next("S");
System.out.println("Digite um número: ");
double num3 = in.nextDouble();
System.out.println("O resultado da raiz quadrada é: " + Math.sqrt(num3));


}else{

if ( i==4 ){
double numdi =  num1 / num2;
System.out.println("O resultado da subtração foi " + numdi);


System.out.println("Deseja fazer raiz quadrada? [S/N]");
String e = in.next("S");
System.out.println("Digite um número: ");
double num3 = in.nextDouble();
System.out.println("O resultado da raiz quadrada é: " + Math.sqrt(num3));

}else{

if ( i==5 ){
double numre =  num1 % num2;
System.out.println("O resultado do resto da div/ foi " + numre);


System.out.println("Deseja fazer raiz quadrada? [S/N]");
String yes = in.next("S");
System.out.println("Digite um número: ");
double num3 = in.nextDouble();
System.out.println("O resultado da raiz quadrada é: " + Math.sqrt(num3));







}
}
}
}
}
}
}

luizfarias
Автор

penas digitando syso e dando o comando Ctrl + espaço tambem funciona

DanielPinheiro
Автор

Ctrl+tab aqui não funcionou pra completar o sysout , tem alguma configuração prévia a ser feita no eclipse ?

thytoin
Автор

Tenho uma pergunta, você ensina a criar interfaces em alguma video-aula da serie?

thelamarcke
Автор

Cláudio, não sei porque, mas o compilador ficou dando erro com a tomada de decisão "else" para a última mensagem de "Operação Inválida". Então eu fiz uma leve modificação que funcionou bem e não tive erros. Porém, mesmo selecionando a operação inválida, o código imprime na tela a requisição dos dois números, então só depois que aparece a "Operação Inválida". Vou tentar fuçar mais um pouco pra descobrir uma solução. É até divertido! haha

         Scanner in = new Scanner(System.in);

             System.out.println("Digite 1 para somar");
             System.out.println("Digite 2 para subtrair");
             System.out.println("Digite 3 para multiplicar");
             System.out.println("Digite 4 para dividir");

             int i = in.nextInt(); //Ler a requisição do usuário;

             System.out.println("Digite o primeiro número:");
             double num1 = in.nextDouble();

            System.out.println("Digite o segundo número: ");
            double num2 = in.nextDouble();

        if( i == 1 || i == 2 || i == 3 || i == 4 ){
           if( i == 1){
             System.out.println( num1+ num2 );
           }else{
             if( i == 2){
              System.out.println( num1 - num2);
          }else{
            if( i == 3){
              System.out.println( num1 * num2);

         }else{
           if( i == 4)
            System.out.println( num1 / num2);
         }
      }
  }
       }else{     //Esse "senão" pertence ao primeiro "IF";
        System.out.println("Operação inválida!");
     }  
}

MetaLBrazuka