Alguém me ajuda?
Como faço isso em Java?
“faça a leitura dos números e da operacão aritmetica, lidos em uma única linha (Por exemplo: 2 + 3).”
Dá uma olhada na classe Scanner
. Você pode utilizar o método next
para pegar o próximo token da stream. No caso, se você digitar 2 + 3 + 5 - 8 / 4
, cada vez que você chama o método next
, vem valor diferente, na ordem.
Nesse caso, a primeira chamada para next
retorna “2”, a segunda “+”, a terceira “3”, etc.
Você pode ir só chamando next
, e convertendo a String
retornada para um operador ou número, ou então tentar utilizar nextInt
para pegar os números diretamente.
Outros métodos úteis desse objeto são boolean hasNext()
(retorna true
se existe mais tokens a serem consumidos) e seus irmãos (hasNextInt()
, hasNext...()
).
Pequeno exemplo de utilização:
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner stdin = new Scanner(System.in);
System.out.print("Informe a expressão: ");
String next;
while ((next = stdin.next()) != null) {
System.out.println(next);
}
}
}