Ir ao conteúdo
  • Cadastre-se

Programação Java - IF, Operações...


CorinT

Posts recomendados

Estou criando um programa que receba 2 números e após isso receba um comando do usuário selecionando uma das quatro operações. Mas recebo o seguinte erro: (unreported exception java.io.IOException; must be caught or declared to be thrown)

Na linha: ( op = (char)System.in.read(); )

Obs.: Sei que a função divisão irá me retornar o resto e não o resultado em si.

Segue o código:

import java.util.Scanner;

public class quatroperacoes {

public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int num1, num2;
char op;

System.out.print("Digite o primeiro número: ");
num1 = entrada.nextInt();

System.out.print("Digite o segundo número: ");
num2 = entrada.nextInt();

Scanner ler = new Scanner(System.in);

System.out.print("Selecione a operação: 1 = Soma | 2 = Subtração | 3 = Multiplicação | 4 = Divisão");

op = (char)System.in.read();

if (op == '1'){
}
System.out.println(num1 + " + " + num2 + " = " + (num1 + num2) );
if (op == '2'){
}
System.out.println(num1 + " - " + num2 + " = " + (num1 - num2) );
if (op == '3'){
}
System.out.println(num1 + " * " + num2 + " = " + (num1 * num2) );
if (op == '4')
System.out.println(num1 + " / " + num2 + " = " + (num1 / num2) );
else
System.out.println("Número incorreto !");
}
}

Desde já, grato.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Estou criando um programa que receba 2 números e após isso receba um comando do usuário selecionando uma das quatro operações. Mas recebo o seguinte erro: (unreported exception java.io.IOException; must be caught or declared to be thrown)

Na linha: ( op = (char)System.in.read(); )

Obs.: Sei que a função divisão irá me retornar o resto e não o resultado em si.

Segue o código:



public class quatroperacoes {

public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int num1, num2;
char op;

System.out.print("Digite o primeiro número: ");
num1 = entrada.nextInt();

System.out.print("Digite o segundo número: ");
num2 = entrada.nextInt();

Scanner ler = new Scanner(System.in);

System.out.print("Selecione a operação: 1 = Soma | 2 = Subtração | 3 = Multiplicação | 4 = Divisão");

op = (char)System.in.read();

if (op == '1'){
}
System.out.println(num1 + " + " + num2 + " = " + (num1 + num2) );
if (op == '2'){
}
System.out.println(num1 + " - " + num2 + " = " + (num1 - num2) );
if (op == '3'){
}
System.out.println(num1 + " * " + num2 + " = " + (num1 * num2) );
if (op == '4')
System.out.println(num1 + " / " + num2 + " = " + (num1 / num2) );
else
System.out.println("Número incorreto !");
}
}
import java.util.Scanner;

Desde já, grato.

Vou me atendar somente a inicial... :)

Basicamente você precisa tratar as possíveis exceções (erros).

Ex.:

		op[color=#000000]=[/color][color=#483d8b]'#'[/color][color=#000000];[/color]
[color=#0000ff]try[/color] [color=#000000]{[/color]
op [color=#000000]= ([/color][color=#540054][b]char[/b][/color][color=#000000])[/color]System[color=#000000].[/color][color=#0000ff]in[/color][color=#000000].[/color][color=#00007f]read[/color][color=#000000]();[/color]
[color=#000000]}[/color]
[color=#0000ff]catch[/color] [color=#000000]([/color]Exception e[color=#000000]) {[/color]

[color=#000000]}[/color]

Obs.: O op='#'; foi apenas para inicializar a variável. (é necessário inicializar)

Vou tentar explicar mais ou menos como entendo:

Então, ao executar o comando para converter o que foi lido em char, pode ocorrer que o processo não funcione... daí o Java "obriga" o programador a tratar as possíveis "exceções". Para tando você pode usar o try/catch.

Dentro do try, se ocorrer algum erro, o Java enviará um objeto do tipo Exception ou herdado deste, daí, podemos criar vários catch tratando esse possíveis casos.

No exemplo acima estou apenas utilizando um Exception mesmo, mas poderíamos criar outros com objetos diferentes (sobrecarga), ou seja, a depender do erro (objeto recebido) poderíamos tratar de uma forma diferente.

Acho que é mais ou menos isso.

Obs2: Existe outras formas de converter;

Obs3: Você precisa corrigir esses ifs. (colocar os comandos dentro do ifs e cada if deve ficar ligado ao outro pro um else, já que são condições mutualmente exclusivas entre si)

No aguardo.

Abraços

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!