O que estou fazendo de errado?

    import java.util.Scanner;  
      
      
    public class Exer3 {  
      
       /** 
        * 3.  Descreva um algoritmo para escrever a tabuada de um determinado número fornecido pelo usuário. 
     
    Análise: 
    Ok 
     
    Entradas: 
    Número 
     
    Saída: 
    Tabuada de um número 
     
    Teste: 
    E           S           S           S           S           S           S           S           S           S           S 
    4           4            8           12         16          20         24          28         32         36         40 
    12         12           24           36         48          60         72          84         96         108       120 
    7          7            14           21         28          35         42          49         56         63         70 
     
    Algoritmo: 
    inicio 
    leia (numero) 
        para contador de 1 até 10 faça 
        contador * numero 
        escreva (numero) 
        fim para 
    fim 
     
        */  
       public static void main(String[] args) {  
          Scanner scan = new Scanner(System.in);  
          int num = scan.nextInt();  
          int cont;  
            
          for (cont = 1; cont <= 10; cont ++); {  
             num = cont * num;  
             System.out.println(num);  
          }  
      
       }  
      
    }  

Qual é a saída do seu programa?

Por favor, me explica o que vc tah querendo fazer? Pelo que eu entendi vc quer uma tabuada. Correto?

Oi,

O num está sendo alterado com o resultado anterior afetando a tabuada, você deve estar recebendo algo assim:
4 (41), 8 (42), 24 (83), 96 (244) …
quando deveria ser:
4 (41), 8 (42), 12 (43), 16 (44) …

Faça algo assim:

[code]
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
int cont;
int result;

  for (cont = 1; cont <= 10; cont ++); {    
     result = cont * num;    
     System.out.println(result);    
  }    

} [/code]

Olha, você vai ter que construir uma string.

Algo do tipo

    for(int i=0; i<=10; i++){
        resultado = numero * i;
        System.out.println(numero + " X "+ i + " = "+ resultado
    }

mesmo assim, eu ainda acho que você deveria construir uma string para mostrar pro usuário.

Pelo método acima, você só vai mostrar o resultado. É isso mesmo que você quer?

Que tópico sem nexo! E, ainda por cima, colocaram a foto de uma mulher com decote, pra atrair mais respostas. Como esse pessoal é criativo! rs

Gente, eu quero fazer o que o enuciado pede:

"3. Descreva um algoritmo para escrever a tabuada de um determinado número fornecido pelo usuário. "

Eu acredito que seja para dar um numero e o programa dar a tabuada de um a dez desse numero. Estou no primeiro semestre de ciência da computação e estou com muito dificuldade em programação. Programas simples de tanto fazer exercicio eu já consigo fazer mas repetição tá me travando. Para uns pode parecer brincadeira mas estou começando e as dificuldades infelismente são reais.

Não sabia que não podia colocar uma foto minha. :thumbdown:

Cara, pelo que entendi do enuciado: "3. Descreva um algoritmo para escrever a tabuada de um determinado número fornecido pelo usuário. " acho que é para dar o resultado do numero dado multiplicado de 1 até 10.

Hey Guy

Eu fiz usando o While:

[code] import java.util.Scanner;

public class Exer3 {  
  
   public static void main(String[] args) {  
      Scanner scan = new Scanner(System.in);  
      int num = scan.nextInt();  
      
  

   int axo = 0;
   
   while(axo <= 10){
   
   axo++;
   
   int resu = num * axo;
   
   System.out.println( axo + " * " + num + " = " + resu  );
   
   }

   }
  
}  

[/code]

Então pehpy, me parece um exercício de sala de aula muito idêntico com um que jah fiz no passado.
De qualquer forma, o algoritmo em Java é bem simples, a entrada do número, e a saída como tabuada(até 10).

import javax.swing.JOptionPane;

/**
 * @author Gilmar J. A. Goulart
 */
public class Tabuada {
	public static void main(String[] args) {

		//usuário entra com qualquer numero
		double numeroTabuada= Integer.parseInt(JOptionPane.showInputDialog(null, "Informe um Numero Para Calcular a Tabuada:", 3));
		
		//calcular até 10
		int n=10;
		
		//Calcula e Mostra a Tabuada
		calcEMostraTabuada(numeroTabuada,n);
		
		JOptionPane.showMessageDialog(null, "Desenvolvido por \n GILMAR J. A. GOULART", "Créditos", 2);
	}
	
	public static void calcEMostraTabuada(double numeroTabuada, int n){

		//String que armazenará a mensagem de saída, como tabuada.
		String tabuada="Tabuada de " + numeroTabuada + ":\n\n";

		//repetição pra calcular a tabuada
		for (int i=0; i<=n; i++) {
			//mostrar no console os resultados
			System.out.println(numeroTabuada + " x " + i + " = " + (numeroTabuada*i));
			//inserir novas linhas na mensagem da saída, até 'n x 10 = X'
			tabuada += numeroTabuada + " x " + i + " = " + (numeroTabuada*i) + "\n";
		}
		//Mostra a string com os resultados da tabuada
		JOptionPane.showMessageDialog(null, tabuada, "TABUADA", 1);
	}
}

Veja que no meu exemplo, podes usar tanto número inteiros(1, 2, 3, 4, 5…) como também números ‘quebrados’(1.5, 1.9,) pra calcular a tabuada.
Espero que te ajude, vlw, até+.

vlw Gilmar, vou estudar sua solução. Vlw mesmo!!!

[quote=gilmar.g]Então pehpy, me parece um exercício de sala de aula muito idêntico com um que jah fiz no passado.
De qualquer forma, o algoritmo em Java é bem simples, a entrada do número, e a saída como tabuada(até 10).

import javax.swing.JOptionPane;

/**
 * @author Gilmar J. A. Goulart
 */
public class Tabuada {
	public static void main(String[] args) {

		//usuário entra com qualquer numero
		double numeroTabuada= Integer.parseInt(JOptionPane.showInputDialog(null, &quot;Informe um Numero Para Calcular a Tabuada:&quot;, 3));
		
		//calcular até 10
		int n=10;
		
		//Calcula e Mostra a Tabuada
		calcEMostraTabuada(numeroTabuada,n);
		
		JOptionPane.showMessageDialog(null, &quot;Desenvolvido por \n GILMAR J. A. GOULART&quot;, &quot;Créditos&quot;, 2);
	}
	
	public static void calcEMostraTabuada(double numeroTabuada, int n){

		//String que armazenará a mensagem de saída, como tabuada.
		String tabuada=&quot;Tabuada de &quot; + numeroTabuada + &quot;:\n\n&quot;;

		//repetição pra calcular a tabuada
		for (int i=0; i&lt;=n; i++) {
			//mostrar no console os resultados
			System.out.println(numeroTabuada + &quot; x &quot; + i + &quot; = &quot; + (numeroTabuada*i));
			//inserir novas linhas na mensagem da saída, até 'n x 10 = X'
			tabuada += numeroTabuada + &quot; x &quot; + i + &quot; = &quot; + (numeroTabuada*i) + &quot;\n&quot;;
		}
		//Mostra a string com os resultados da tabuada
		JOptionPane.showMessageDialog(null, tabuada, &quot;TABUADA&quot;, 1);
	}
}

Veja que no meu exemplo, podes usar tanto número inteiros(1, 2, 3, 4, 5…) como também números ‘quebrados’(1.5, 1.9,) pra calcular a tabuada.
Espero que te ajude, vlw, até+.[/quote]

Ok, se resolver seu problema, marque o fórum como resolvido, assim poderá ajudar mais alguém futuramente.

Vlw, Até+.

[quote=pehpy]vlw Gilmar, vou estudar sua solução. Vlw mesmo!!!

[quote=gilmar.g]Então pehpy, me parece um exercício de sala de aula muito idêntico com um que jah fiz no passado.
De qualquer forma, o algoritmo em Java é bem simples, a entrada do número, e a saída como tabuada(até 10).

import javax.swing.JOptionPane;

/**
 * @author Gilmar J. A. Goulart
 */
public class Tabuada {
	public static void main(String[] args) {

		//usuário entra com qualquer numero
		double numeroTabuada= Integer.parseInt(JOptionPane.showInputDialog(null, &quot;Informe um Numero Para Calcular a Tabuada:&quot;, 3));
		
		//calcular até 10
		int n=10;
		
		//Calcula e Mostra a Tabuada
		calcEMostraTabuada(numeroTabuada,n);
		
		JOptionPane.showMessageDialog(null, &quot;Desenvolvido por \n GILMAR J. A. GOULART&quot;, &quot;Créditos&quot;, 2);
	}
	
	public static void calcEMostraTabuada(double numeroTabuada, int n){

		//String que armazenará a mensagem de saída, como tabuada.
		String tabuada=&quot;Tabuada de &quot; + numeroTabuada + &quot;:\n\n&quot;;

		//repetição pra calcular a tabuada
		for (int i=0; i&lt;=n; i++) {
			//mostrar no console os resultados
			System.out.println(numeroTabuada + &quot; x &quot; + i + &quot; = &quot; + (numeroTabuada*i));
			//inserir novas linhas na mensagem da saída, até 'n x 10 = X'
			tabuada += numeroTabuada + &quot; x &quot; + i + &quot; = &quot; + (numeroTabuada*i) + &quot;\n&quot;;
		}
		//Mostra a string com os resultados da tabuada
		JOptionPane.showMessageDialog(null, tabuada, &quot;TABUADA&quot;, 1);
	}
}

Veja que no meu exemplo, podes usar tanto número inteiros(1, 2, 3, 4, 5…) como também números ‘quebrados’(1.5, 1.9,) pra calcular a tabuada.
Espero que te ajude, vlw, até+.[/quote][/quote]

Em outro post que eu postei o mesmo problema um pragramador postou com objetividade e simplesidade os dois erros que eu estava cometendo, vejam e aprendam:

[quote=“jeckson”]
Bom duas coisas que estão errados neste exercicio:

1º Depois do seu FOR tem um ponto e virgula (:wink: que não deveria ter! Devido este ponto e virgula ele não entende que o bloco de intruçao faça parte do FOR.

2º É necessario uma variavel auxiliar para guardar o valor do resultado, pois se você fizer a conta com a variavel do usuario irá atribuir um novo valor a essa variavel.

Exemplo:

num = cont * num
5 = 2 * 5 //RESULTADO IGUAL = 10

Na proxima conta fará o seguinte

10 = 3 * 10 //RESULTADO IGUAL = 30

Abaixo utilizei o seu codigo e fiz alguma alterações apenas para ficar funcional, assim você pode notar onde consta erro.

[code]

import java.util.Scanner;

public class Repeticao {

public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
int cont;
int result;// CRIADO VARIAVEL RESULT PARA ARMAZENAR O RESULTADO

  for (cont = 1; cont<= 10; cont++) {//RETIRADO O PONTO E VIRGULA QUE VINHA APOS O FOR 
     result = cont * num;   //UTILIZADO VARIAVEL RESULTA PARA ARMAZENAR O RESULTADO
     System.out.println(result); // IMPRIMIDO VARIAVEL RESULT
  }   

}

}
[/code] [/quote]

Nãs estou dizendo que vocês estão errados mas não compliquem tanto!!!

Foi exatamente o que eu fiz mas utilizando o while:

[code] int axo = 0;

   while(axo <= 10){
   
   axo++;
   
   int resu = num * axo;
   
   System.out.println( axo + " * " + num + " = " + resu  );
   
   }

   }
  
}  

[/code]

[quote=pehpy]Em outro post que eu postei o mesmo problema um pragramador postou com objetividade e simplesidade os dois erros que eu estava cometendo, vejam e aprendam:

[quote=“jeckson”]
Bom duas coisas que estão errados neste exercicio:

1º Depois do seu FOR tem um ponto e virgula (:wink: que não deveria ter! Devido este ponto e virgula ele não entende que o bloco de intruçao faça parte do FOR.

2º É necessario uma variavel auxiliar para guardar o valor do resultado, pois se você fizer a conta com a variavel do usuario irá atribuir um novo valor a essa variavel.

Exemplo:

num = cont * num
5 = 2 * 5 //RESULTADO IGUAL = 10

Na proxima conta fará o seguinte

10 = 3 * 10 //RESULTADO IGUAL = 30

Abaixo utilizei o seu codigo e fiz alguma alterações apenas para ficar funcional, assim você pode notar onde consta erro.

[code]

import java.util.Scanner;

public class Repeticao {

public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
int cont;
int result;// CRIADO VARIAVEL RESULT PARA ARMAZENAR O RESULTADO

  for (cont = 1; cont<= 10; cont++) {//RETIRADO O PONTO E VIRGULA QUE VINHA APOS O FOR 
     result = cont * num;   //UTILIZADO VARIAVEL RESULTA PARA ARMAZENAR O RESULTADO
     System.out.println(result); // IMPRIMIDO VARIAVEL RESULT
  }   

}

}
[/code] [/quote]

Nãs estou dizendo que vocês estão errados mas não compliquem tanto!!![/quote]
Olá, Bom Dia.

Não vejo diferença alguma.
A lógica é a mesma, a entrada do número e a repetição.

Vlw.