crie um codigo java de uma calculadora
Criado em: 18 de fevereiro de 2025
Criado em: 18 de fevereiro de 2025
crie um codigo java de uma calculadora
A seguir está um exemplo simples de uma calculadora em Java utilizando o console. O programa lê dois números e um operador do usuário e, em seguida, exibe o resultado da operação:
javaimport java.util.Scanner; public class Calculadora { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); System.out.println("=== Calculadora Simples ==="); // Lê o primeiro número System.out.print("Digite o primeiro número: "); double numero1 = entrada.nextDouble(); // Lê o operador System.out.print("Digite o operador (+, -, *, /): "); char operador = entrada.next().charAt(0); // Lê o segundo número System.out.print("Digite o segundo número: "); double numero2 = entrada.nextDouble(); double resultado; switch (operador) { case '+': resultado = numero1 + numero2; System.out.println("Resultado: " + resultado); break; case '-': resultado = numero1 - numero2; System.out.println("Resultado: " + resultado); break; case '*': resultado = numero1 * numero2; System.out.println("Resultado: " + resultado); break; case '/': if (numero2 != 0) { resultado = numero1 / numero2; System.out.println("Resultado: " + resultado); } else { System.out.println("Erro: Divisão por zero não é permitida."); } break; default: System.out.println("Operador inválido! Tente novamente."); } entrada.close(); } }
Scanner
é utilizada para ler dados do usuário via console.numero1
e numero2
) e um operador (operador
).+
, -
, *
, /
), o programa executa a operação desejada./
, o programa verifica se o divisor (numero2
) não é zero antes de executar a divisão.Este exemplo pode servir de base para implementar funções mais avançadas, como suporte a números complexos, mais operações matemáticas (como potência e raiz), ou até mesmo para construir uma interface gráfica usando bibliotecas como Swing ou JavaFX.
onde rodar o codigo
Para executar o código Java que foi fornecido, você tem algumas opções:
Você deve ver algo comobashjava -version
java version "17.x.x"
ou a versão que instalou.Calculadora.java
(o nome do arquivo deve ser igual ao nome da classe pública dentro dele).Pelo terminal, navegue até o diretório onde está o arquivo Calculadora.java
.
Digite o comando para compilar:
bashjavac Calculadora.java
Esse comando irá gerar um arquivo Calculadora.class
.
Em seguida, execute:
bashjava Calculadora
O programa será executado e você poderá inserir os valores solicitados.
Calculadora.java
.A IDE facilitará o processo de escrita, compilação e execução do código, além de oferecer recursos como correção de erros, autocompletar, sugestão de bibliotecas, etc.
Existem diversos sites que permitem copiar/colar o código e executar diretamente no navegador, sem precisar instalar nada no seu computador. Alguns exemplos:
.java
, compile com javac
e execute com java
.Dessa forma, você consegue rodar o código da calculadora em qualquer ambiente que suporte Java.
faça em html
A seguir está um exemplo de uma calculadora simples feita inteiramente em HTML e JavaScript. Para testar, basta criar um arquivo HTML (por exemplo, calculadora.html
), copiar o código abaixo e abrir o arquivo no navegador.
html<!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8" /> <title>Calculadora Simples</title> <style> /* Estilos básicos para a calculadora */ #calculator { width: 240px; margin: 50px auto; border: 1px solid #ccc; padding: 10px; text-align: center; border-radius: 6px; background: #f9f9f9; } #display { width: 210px; height: 40px; margin-bottom: 10px; font-size: 1.2em; text-align: right; padding: 5px; border: 1px solid #aaa; border-radius: 4px; } .btn { width: 50px; height: 40px; margin: 3px; font-size: 1.2em; cursor: pointer; } .btn-igual { background-color: #4CAF50; color: white; } .btn-limpar { width: 106px; background-color: #f44336; color: white; } </style> </head> <body> <div id="calculator"> <input type="text" id="display" readonly /> <br /> <!-- Primeira linha de botões --> <button class="btn" onclick="appendNumber('7')">7</button> <button class="btn" onclick="appendNumber('8')">8</button> <button class="btn" onclick="appendNumber('9')">9</button> <button class="btn" onclick="chooseOperator('/')">/</button> <br /> <!-- Segunda linha de botões --> <button class="btn" onclick="appendNumber('4')">4</button> <button class="btn" onclick="appendNumber('5')">5</button> <button class="btn" onclick="appendNumber('6')">6</button> <button class="btn" onclick="chooseOperator('*')">*</button> <br /> <!-- Terceira linha de botões --> <button class="btn" onclick="appendNumber('1')">1</button> <button class="btn" onclick="appendNumber('2')">2</button> <button class="btn" onclick="appendNumber('3')">3</button> <button class="btn" onclick="chooseOperator('-')">-</button> <br /> <!-- Quarta linha de botões --> <button class="btn" onclick="appendNumber('0')">0</button> <button class="btn" onclick="appendNumber('.')">.</button> <button class="btn btn-igual" onclick="calculate()">=</button> <button class="btn" onclick="chooseOperator('+')">+</button> <br /> <!-- Botão de limpar --> <button class="btn btn-limpar" onclick="clearDisplay()">Limpar</button> </div> <script> let currentValue = ''; let previousValue = ''; let operator = null; // Atualiza o display com o valor atual function updateDisplay(value) { document.getElementById('display').value = value; } // Adiciona dígitos ao valor atual function appendNumber(num) { currentValue += num; updateDisplay(currentValue); } // Escolhe o operador (+, -, *, /) function chooseOperator(op) { // Se não houver valor atual, não faz nada if (currentValue === '') return; // Se já houver valor anterior, executa o cálculo anterior if (previousValue !== '') { calculate(); } operator = op; previousValue = currentValue; currentValue = ''; } // Calcula o resultado com base no operador function calculate() { if (operator === null || currentValue === '' || previousValue === '') return; const prev = parseFloat(previousValue); const current = parseFloat(currentValue); let result = 0; switch(operator) { case '+': result = prev + current; break; case '-': result = prev - current; break; case '*': result = prev * current; break; case '/': if (current === 0) { alert("Erro: Divisão por zero!"); clearDisplay(); return; } result = prev / current; break; } currentValue = result.toString(); operator = null; previousValue = ''; updateDisplay(currentValue); } // Limpa tudo function clearDisplay() { currentValue = ''; previousValue = ''; operator = null; updateDisplay(''); } </script> </body> </html>
calculadora.html
.Esse exemplo ilustra como criar uma calculadora básica com HTML para a parte visual (interface) e JavaScript para a lógica de cálculo. Não é necessário um servidor ou compilador: basta abrir o arquivo no seu navegador.
agora programe um leitor de audio e de video
Abaixo está um exemplo simples de página HTML que incorpora um leitor de áudio e vídeo. Há duas versões no mesmo código: uma usando os controles nativos de cada elemento (<audio>
e <video>
) e outra com botões personalizados em JavaScript para demonstrar como controlar a reprodução, pausa e volume.
html<!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <title>Leitor de Áudio e Vídeo</title> </head> <body> <h1>Leitor de Áudio</h1> <!-- O atributo "controls" mostra o player nativo do navegador. Substitua "seu_arquivo_audio.mp3" pelo caminho ou URL do seu arquivo de áudio. --> <audio controls> <source src="seu_arquivo_audio.mp3" type="audio/mpeg"> <!-- Mensagem exibida caso o navegador não suporte o elemento de áudio. --> Seu navegador não suporta o elemento de áudio. </audio> <h1>Leitor de Vídeo</h1> <!-- O atributo "controls" mostra o player nativo do navegador. Substitua "seu_arquivo_video.mp4" pelo caminho ou URL do seu arquivo de vídeo. --> <video controls width="320" height="240"> <source src="seu_arquivo_video.mp4" type="video/mp4"> <!-- Mensagem exibida caso o navegador não suporte o elemento de vídeo. --> Seu navegador não suporta o elemento de vídeo. </video> </body> </html>
leitor.html
(por exemplo).leitor.html
em um navegador moderno (Chrome, Firefox, Edge, etc.).O exemplo a seguir mostra como controlar manualmente áudio e vídeo através de JavaScript, usando botões para Play/Pause e ajuste de Volume.
html<!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <title>Leitor de Áudio e Vídeo (Customizado)</title> <style> body { font-family: Arial, sans-serif; margin: 20px; } section { margin-bottom: 30px; } .controls button { margin-right: 5px; } </style> </head> <body> <h1>Leitor de Áudio e Vídeo</h1> <!-- Seção para o Áudio --> <section> <h2>Áudio</h2> <audio id="audioPlayer"> <!-- Substitua pelo seu arquivo de áudio --> <source src="seu_arquivo_audio.mp3" type="audio/mpeg"> Seu navegador não suporta áudio HTML5. </audio> <div class="controls"> <button onclick="playAudio()">Play</button> <button onclick="pauseAudio()">Pause</button> <button onclick="stopAudio()">Stop</button> <button onclick="volumeUpAudio()">Volume +</button> <button onclick="volumeDownAudio()">Volume -</button> <span id="audio-volume"></span> </div> </section> <!-- Seção para o Vídeo --> <section> <h2>Vídeo</h2> <video id="videoPlayer" width="320" height="240"> <!-- Substitua pelo seu arquivo de vídeo --> <source src="seu_arquivo_video.mp4" type="video/mp4"> Seu navegador não suporta vídeo HTML5. </video> <div class="controls"> <button onclick="playVideo()">Play</button> <button onclick="pauseVideo()">Pause</button> <button onclick="stopVideo()">Stop</button> <button onclick="volumeUpVideo()">Volume +</button> <button onclick="volumeDownVideo()">Volume -</button> <span id="video-volume"></span> </div> </section> <script> // Referências para os elementos const audio = document.getElementById("audioPlayer"); const video = document.getElementById("videoPlayer"); const audioVolumeText = document.getElementById("audio-volume"); const videoVolumeText = document.getElementById("video-volume"); // Ajustando volume inicial (0.5 = 50%) audio.volume = 0.5; video.volume = 0.5; audioVolumeText.textContent = `Volume: ${Math.round(audio.volume * 100)}%`; videoVolumeText.textContent = `Volume: ${Math.round(video.volume * 100)}%`; // Funções de Áudio function playAudio() { audio.play(); } function pauseAudio() { audio.pause(); } function stopAudio() { audio.pause(); audio.currentTime = 0; // Reinicia para o início } function volumeUpAudio() { if (audio.volume < 1) { audio.volume = parseFloat((audio.volume + 0.1).toFixed(1)); audioVolumeText.textContent = `Volume: ${Math.round(audio.volume * 100)}%`; } } function volumeDownAudio() { if (audio.volume > 0) { audio.volume = parseFloat((audio.volume - 0.1).toFixed(1)); audioVolumeText.textContent = `Volume: ${Math.round(audio.volume * 100)}%`; } } // Funções de Vídeo function playVideo() { video.play(); } function pauseVideo() { video.pause(); } function stopVideo() { video.pause(); video.currentTime = 0; // Reinicia para o início } function volumeUpVideo() { if (video.volume < 1) { video.volume = parseFloat((video.volume + 0.1).toFixed(1)); videoVolumeText.textContent = `Volume: ${Math.round(video.volume * 100)}%`; } } function volumeDownVideo() { if (video.volume > 0) { video.volume = parseFloat((video.volume - 0.1).toFixed(1)); videoVolumeText.textContent = `Volume: ${Math.round(video.volume * 100)}%`; } } </script> </body> </html>
seu_arquivo_audio.mp3
e seu_arquivo_video.mp4
pelos nomes ou URLs dos seus arquivos de mídia.src="musica.mp3"
..html
(por exemplo, leitor_customizado.html
).Dessa forma, você terá um leitor de áudio e vídeo em HTML que pode usar tanto os controles nativos do navegador quanto botões personalizados via JavaScript, se desejar ter mais controle sobre a interface.
faça em html
Abaixo está um exemplo básico em HTML que exibe um leitor de áudio e um leitor de vídeo utilizando os controles nativos do navegador:
html<!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8" /> <title>Leitor de Áudio e Vídeo</title> </head> <body> <h1>Leitor de Áudio</h1> <!-- Use o atributo "controls" para exibir o player nativo do navegador. Substitua "musica.mp3" pelo seu arquivo de áudio ou pela URL de um arquivo online. --> <audio controls> <source src="musica.mp3" type="audio/mpeg"> <!-- Mensagem exibida caso o navegador não suporte a tag <audio>. --> Seu navegador não suporta a tag de áudio. </audio> <h1>Leitor de Vídeo</h1> <!-- Use o atributo "controls" para exibir o player nativo do navegador. Substitua "video.mp4" pelo seu arquivo de vídeo ou pela URL de um arquivo online. --> <video controls width="480" height="320"> <source src="video.mp4" type="video/mp4"> <!-- Mensagem exibida caso o navegador não suporte a tag <video>. --> Seu navegador não suporta a tag de vídeo. </video> </body> </html>
leitor.html
) e cole o código acima.musica.mp3
e video.mp4
pelo nome dos seus arquivos ou por URLs de áudio/vídeo.leitor.html
em um navegador (Chrome, Firefox, Edge, etc.).programe um app para treino e emagrecimento online todo projecto em html e java
Abaixo está um exemplo simplificado de como você poderia estruturar um projeto de aplicativo online (web) para treino e emagrecimento utilizando:
Esse é um modelo básico para demonstrar os conceitos principais. Em um projeto real, você usaria frameworks (como Spring Boot ou Jakarta EE), banco de dados, autenticação robusta etc.
textmeu-app-fitness │ ├── src │ └── main │ └── java │ └── br │ └── com │ └── fit │ ├── controller │ │ ├── LoginServlet.java │ │ └── TreinoServlet.java │ └── model │ └── Usuario.java │ └── webapp ├── index.html ├── login.html ├── cadastro.html ├── treino.html └── META-INF └── context.xml (se necessário)
webapp/
: Pasta que conterá os arquivos estáticos (HTML, CSS, JS) e as páginas que o usuário acessa.src/main/java
: Onde ficam as classes Java (Servlets, modelos, etc.).LoginServlet.java
: Recebe requisições de login e faz a lógica de autenticação.TreinoServlet.java
: Exibe e gerencia rotinas de treino, dicas de emagrecimento, etc.Usuario.java
: Classe de modelo que representa o usuário (nome, e-mail, senha, idade, meta de peso etc.).A seguir, apresento arquivos de exemplo para cada parte.
index.html
(Página inicial)html<!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8" /> <title>Meu App Fitness</title> </head> <body> <h1>Bem-vindo ao App de Treino e Emagrecimento</h1> <p>Melhore sua saúde e forma física com nossos planos de treino e dieta.</p> <a href="login.html">Login</a> | <a href="cadastro.html">Cadastre-se</a> </body> </html>
cadastro.html
(Página de cadastro)html<!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <title>Cadastro - Meu App Fitness</title> </head> <body> <h1>Cadastro de Usuário</h1> <form action="login" method="post"> <!-- Normalmente você teria um Servlet específico, mas vamos usar o mesmo do login para simplificar --> <label for="nome">Nome:</label> <input type="text" id="nome" name="nome" required><br><br> <label for="email">E-mail:</label> <input type="email" id="email" name="email" required><br><br> <label for="senha">Senha:</label> <input type="password" id="senha" name="senha" required><br><br> <input type="hidden" name="acao" value="cadastro"> <button type="submit">Cadastrar</button> </form> </body> </html>
login.html
(Página de login)html<!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <title>Login - Meu App Fitness</title> </head> <body> <h1>Faça seu Login</h1> <form action="login" method="post"> <label for="email">E-mail:</label> <input type="email" id="email" name="email" required><br><br> <label for="senha">Senha:</label> <input type="password" id="senha" name="senha" required><br><br> <input type="hidden" name="acao" value="login"> <button type="submit">Entrar</button> </form> </body> </html>
Observação: No atributo
action
dos formulários, utilizamos"login"
, que corresponderá ao URL Pattern configurado noLoginServlet
.
treino.html
(Página para exibir treino)html<!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <title>Treinos - Meu App Fitness</title> </head> <body> <h1>Seus Treinos</h1> <!-- Esta página poderia exibir uma lista de exercícios específicos. Você pode criar seções para "Parte superior", "Parte inferior", "Cardio", etc. --> <h2>Treino A - Membros Superiores</h2> <ul> <li>Flexões: 3 séries de 10 repetições</li> <li>Tríceps banco: 3 séries de 10 repetições</li> <li>Abdominal: 3 séries de 15 repetições</li> </ul> <h2>Treino B - Membros Inferiores</h2> <ul> <li>Agachamento livre: 3 séries de 12 repetições</li> <li>Afundo: 3 séries de 10 repetições (cada perna)</li> <li>Panturrilhas: 3 séries de 15 repetições</li> </ul> <p><a href="index.html">Voltar à página inicial</a></p> </body> </html>
A seguir, um exemplo de dois servlets principais: um para Login/Cadastro e outro para Treinos. Em um aplicativo maior, você poderia ter vários servlets ou usar um framework (como Spring) para organizar melhor as rotas.
Usuario.java
javapackage br.com.fit.model; public class Usuario { private String nome; private String email; private String senha; public Usuario(String nome, String email, String senha) { this.nome = nome; this.email = email; this.senha = senha; } public String getNome() { return nome; } public String getEmail() { return email; } public String getSenha() { return senha; } }
LoginServlet.java
javapackage br.com.fit.controller; import br.com.fit.model.Usuario; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.HashMap; import java.util.Map; @WebServlet("/login") public class LoginServlet extends HttpServlet { // Armazena usuários em memória (Exemplo simplificado, sem banco de dados) private Map<String, Usuario> usuariosCadastrados = new HashMap<>(); @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Verifica qual a ação (login ou cadastro) String acao = request.getParameter("acao"); if ("cadastro".equals(acao)) { cadastrarUsuario(request, response); } else if ("login".equals(acao)) { autenticarUsuario(request, response); } else { // Ação inválida response.sendRedirect("index.html"); } } private void cadastrarUsuario(HttpServletRequest request, HttpServletResponse response) throws IOException { String nome = request.getParameter("nome"); String email = request.getParameter("email"); String senha = request.getParameter("senha"); // Verifica se já existe esse e-mail cadastrado if (usuariosCadastrados.containsKey(email)) { // Já existe, redireciona para o cadastro novamente response.getWriter().println("<html><body><h1>E-mail já cadastrado!</h1></body></html>"); return; } // Cria um novo objeto usuário e coloca no "banco" (Map) Usuario novoUsuario = new Usuario(nome, email, senha); usuariosCadastrados.put(email, novoUsuario); // Redireciona para a página de login ou área logada response.getWriter().println("<html><body><h1>Cadastro realizado com sucesso!</h1>"); response.getWriter().println("<a href='login.html'>Fazer login</a></body></html>"); } private void autenticarUsuario(HttpServletRequest request, HttpServletResponse response) throws IOException { String email = request.getParameter("email"); String senha = request.getParameter("senha"); Usuario usuario = usuariosCadastrados.get(email); if (usuario != null && usuario.getSenha().equals(senha)) { // Login bem-sucedido // Aqui você poderia criar uma sessão e redirecionar para uma página protegida response.sendRedirect("treino.html"); } else { // Falha de login response.getWriter().println("<html><body><h1>Falha no login!</h1>"); response.getWriter().println("<p>Verifique e-mail/senha e tente novamente.</p>"); response.getWriter().println("<a href='login.html'>Voltar</a></body></html>"); } } }
Observações importantes:
HashMap
em memória, ou seja, se o servidor for reiniciado, os cadastros se perdem.TreinoServlet.java
(Opcional)javapackage br.com.fit.controller; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/treinoServlet") public class TreinoServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Exemplo simples: redireciona para a página 'treino.html' // Em um projeto maior, você poderia gerar o conteúdo dinâmico no Servlet. response.sendRedirect("treino.html"); } }
web.xml
(se necessário)Se você estiver usando um servidor Servlet 3.0+ (Tomcat, Jetty, etc.) e anotations (@WebServlet
), não precisa de web.xml
. Mas, caso queira configurar manualmente, um web.xml
mínimo ficaria assim:
xml<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="3.0"> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>br.com.fit.controller.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> <servlet> <servlet-name>TreinoServlet</servlet-name> <servlet-class>br.com.fit.controller.TreinoServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>TreinoServlet</servlet-name> <url-pattern>/treinoServlet</url-pattern> </servlet-mapping> </web-app>
Como usamos @WebServlet
, você pode omitir esse arquivo. O Tomcat ou Jetty detectará automaticamente os servlets.
.java
na pasta correta (src/main/java/...
) e os arquivos .html
em src/main/webapp
.mvn package
).webapps
do Tomcat (ou faça o deploy pela interface do Tomcat).http://localhost:8080/nomeDoProjeto/index.html
para a página inicial,http://localhost:8080/nomeDoProjeto/login.html
para a página de login,http://localhost:8080/nomeDoProjeto/cadastro.html
para a página de cadastro.index.html
): Apresenta o app e links para login ou cadastro.cadastro.html
): Envia os dados para o LoginServlet
(usando ?acao=cadastro
).login.html
): Também envia os dados para o LoginServlet
(usando ?acao=login
).LoginServlet.java
:
HashMap
.HashMap
.treino.html
ou página específica.treino.html
): Exibe rotinas simples de treino e dicas de exercícios.Este exemplo não é um produto final, mas sim uma demonstração de como estruturar um projeto em HTML + Java (Servlets) para um app de treino e emagrecimento online. Você pode expandi-lo adicionando mais funcionalidades e boas práticas de desenvolvimento.