Ajuda java - calculadora

8 respostas
java
L

Prezados, Boa tarde!

Recebi um exercício para fazer mas não estou conseguindo montar ele. Eu uso o REPLIT para fazer meus programas. Poderiam me auxiliar?

PROBLEMA: //Crie uma rotina que crie uma calculadora, onde o usuário escolha em um menu as opções de soma, subtração, divisão e multiplicação, e após a escolha ele informa os parâmetros necessários para a realização da operação

COMO EU ESTOU TENTANDO FAZER:

import java.util.Scanner;

class Main {

  public static void main(String[] args) {

//Crie uma rotina que crie uma calculadora, onde o usuário escolha em um menu as opções de soma, subtração, divisão e multiplicação, e após a escolha ele informa os parâmetros necessários para a realização da operação
  
  int = n1;
  int = n2;

Scanner input = new Scanner(System.in);

System.oul.println("Qual o primeiro número?");
n1 = imput.nextInt();
System.oul.println("Qual o segundo número?");
n2 = imput.nextInt();

  
System.out.println("Soma: "+(n1+n2));
System.out.println("Subtração: "-(n1-n2));
System.out.println("Multiplicação: "*(n1*n2));
System.oul.println("Divisão: "+(n1/n2));
  
  
  }
  
  
  
  }
}

Estou fazendo assim mas está dando erro.

Obrigada a todos!

8 Respostas

H

Isso foi erro de digitação ou o código está assim mesmo? Porque o certo é só int n1;.

E vc cria a variável input, mas no código você usa imput.

E quando disser que algo “deu erro”, é importante colocar mais informações: a mensagem de erro, o que vc digitou quando deu erro, etc. Senão não temos como adivinhar…

L

eu coloco `int n1; mas mesmo assim fica com erro

H

Sem querer ser chato, mas vou repetir: quando disser que algo “deu erro”, é importante colocar mais informações: a mensagem de erro, o que vc digitou quando deu erro, etc. Senão não temos como adivinhar…

R

Também tem um erro aqui: “oul” ao invés de “out”.

L

Arrumei meu código e ficou assim:

import java.util.Scanner;

class Main {

public static void main(String[] args) {

//Crie uma rotina que crie uma calculadora, onde o usuário escolha em um menu as opções de soma, subtração, divisão e multiplicação, e após a escolha ele informa os parâmetros necessários para a realização da operação

do{
Scanner input = new Scanner(System.in);

int n1;
int n2;

System.out.println(Qual o primeiro número?);

n1 = input.nextInt();

System.out.println(Qual o segundo número?);

n2 = imput.nextInt();
System.out.println("Soma: "+(n1+n2));

System.out.println("Subtração: "-(n1-n2));

System.out.println("Multiplicacao: "<em>(n1</em>n2));

System.out.println("Divisão: "+(n1/n2));

}
}

OS ERROS Q APARECE:

 javac -classpath .:/run_dir/junit-4.12.jar:target/dependency/* -d . Main.java

Main.java:10: error: cannot find symbol

Scanner input = new Scanner(System.in);

^

symbol:   class Scanner

location: class Main

Main.java:10: error: cannot find symbol

Scanner input = new Scanner(System.in);

^

 javac -classpath .:/run_dir/junit-4.12.jar:target/dependency/* -d . Main.java

Main.java:11: error: cannot find symbol

Scaner input = new Scaner(System.in);

^

symbol:   class Scaner

location: class Main

Main.java:11: error: cannot find symbol

Scaner input = new Scaner(System.in);

^

 javac -classpath .:/run_dir/junit-4.12.jar:target/dependency/* -d . Main.java

Main.java:28: error: while expected

}

^

Main.java:29: error: illegal start of expression

}

^

2 errors

exit status 1

 ^C


L

OS ERROS Q APARECE:

 javac -classpath .:/run_dir/junit-4.12.jar:target/dependency/* -d . Main.java

Main.java:10: error: cannot find symbol

Scanner input = new Scanner(System.in);

^

symbol: class Scanner

location: class Main

Main.java:10: error: cannot find symbol

Scanner input = new Scanner(System.in);

^

 javac -classpath .:/run_dir/junit-4.12.jar:target/dependency/* -d . Main.java

Main.java:11: error: cannot find symbol

Scaner input = new Scaner(System.in);

^

symbol: class Scaner

location: class Main

Main.java:11: error: cannot find symbol

Scaner input = new Scaner(System.in);

^

 javac -classpath .:/run_dir/junit-4.12.jar:target/dependency/* -d . Main.java

Main.java:28: error: while expected

}

^

Main.java:29: error: illegal start of expression

}

^

2 errors

exit status 1




R

Erro de digitação, parece que você já corrigiu.

Parece que tá faltando um } no final do arquivo. Sempre deixe o código bem indentado pra perceber esses erros e facilitar a leitura.

H

Tem vários problemas aí.

Faltou fechar um } no final. O do faz parte do do/while, ele não pode ficar sozinho ali (faltou o while correspondente).

Aqui:

System.out.println("Soma: " + (n1 + n2));
System.out.println("Subtração: " - (n1 - n2));

O primeiro sinal de + (logo depois das aspas) serve para concatenar strings (no caso, o texto "Soma: " é concatenado com o resultado de n1 + n2). Então na linha de baixo, depois das aspas, tem que ser + também. O mesmo vale para as outras.

E você continua usando imput, quando a variável na verdade se chama input (com “n”, não com “m”). Preste atenção nesses detalhes.

Enfim, o programa (sem o loop por enquanto) fica assim:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Qual o primeiro número?");
        int n1 = input.nextInt();
        System.out.println("Qual o segundo número ?");
        int n2 = input.nextInt();

        System.out.println("Soma: " + (n1 + n2));
        System.out.println("Subtração: " + (n1 - n2));
        System.out.println("Multiplicacao: "+ (n1 * n2));
        System.out.println("Divisão: " + (n1 / n2));
    }
}

Para compilar e rodar:

# compilar
javac Main.java

# rodar
java Main

Não acho que precisa passar os parâmetros de classpath no javac, já que esse código é muito simples e não tem nenhuma dependência externa. Se estiver rodando em sites como o Repl.it, eles podem colocar esses parâmetros automaticamente, mas enfim, nesse caso não é necessário.

Veja aqui o código rodando.


Se quiser colocar dentro de um loop para repetir várias vezes, seria algo como:

Scanner input = new Scanner(System.in); // criar o Scanner fora do loop (pois só precisa criar uma vez)

for (int i = 0; i < 5; i++) { // repetir 5 vezes
    System.out.println("Qual o primeiro número?");
    int n1 = input.nextInt();
    System.out.println("Qual o segundo número ?");
    int n2 = input.nextInt();

    System.out.println("Soma: " + (n1 + n2));
    System.out.println("Subtração: " + (n1 - n2));
    System.out.println("Multiplicacao: " + (n1 * n2));
    System.out.println("Divisão: " + (n1 / n2));
}
Criado 15 de junho de 2021
Ultima resposta 16 de jun. de 2021
Respostas 8
Participantes 3