usermanero Posted July 26, 2014 Report Share Posted July 26, 2014 (edited) Preciso de ajuda com esse programa: Escreva um programa que calcule e imprima a tabuada de um número fornecido pelo usuário. Repetir o cálculo até o usuário digitar sair. (usar do{}while) Meu programa está com problema pois parece que o scanner não le o valor que eu digito. Me ajudem, por favor, sou iniciante. import java.util.Scanner; public class Tabuada { public static void main (String args[]) { Scanner entrada= new Scanner(System.in); String parar; int num, i; i=0; System.out.print("Digite um número ou sair para finalizar a execução: "); num = entrada.nextInt(); parar = entrada.next(); do { num = num*i; System.out.println(num); i= i+1; }while(!parar.equals("Sair") || i>10); } } Edited July 28, 2014 by Baderous geshi Link to comment Share on other sites More sharing options...
AJBM Posted July 27, 2014 Report Share Posted July 27, 2014 Boas! Pelo que percebi podes tens que imprimir a tabuada de um numero digitado pelo utilizador, isto só acaba quando ele disser que quer sair, ou seja, podes ter que imprimir mais de que uma tabuada. Por isso: Devias ler os valores do utilizador dentro do ciclo. Verifica as condições do ciclo. Link to comment Share on other sites More sharing options...
usermanero Posted July 27, 2014 Author Report Share Posted July 27, 2014 Obrigado. Eu consegui fazer a tabuada, mas ainda não consegui fazer o programa parar quando o usuario digitar "sair". Como faço pra ver se o usuario digitou um numero ou uma string? Link to comment Share on other sites More sharing options...
egas07 Posted July 29, 2014 Report Share Posted July 29, 2014 Boas, Não sei se percebi bem mas assim de repente parece que esta é uma solução. Cumps. public static void main(String[] args) { Scanner entrada= new Scanner(System.in); String valorStr; int num=0; System.out.print("Digite um número ou sair para finalizar a execução: "); do { valorStr = entrada.next(); try { num = Integer.parseInt(valorStr); } catch (NumberFormatException ex) { System.out.println("Not a number !"); } if (num>0){ for (int i=1;i<=10;i++) { System.out.println(num+" x " +i +" = "+num*i); } } }while(!valorStr.equalsIgnoreCase("Sair")); } Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now