Ajuda na tabuada

15 respostas
I

Pessoal, comecei a estudar java, e estamos fazendo programas simples (soma de 2 números, comparação), eu gostaria de fazer uma tabuada ateh 10, acredito q a lógica eu consegui, mas queia deixa-la uma ao lado da outra, por exemplo,
a tabuada do 1 a tabuada do 2 a tabuada do 3…

fiz a 1 e a 2 mas fica uma em baixo da outra, como faço pra deixar uma ao lado da outra??? Obrigado

import javax.swing.JOptionPane;
public class Tabuada{

public static void main(String args[]){

int x=1;

int y=0;

int result=0;

String mostrar1="", mostrar2="", mostrar3="", mostrar4="", mostrar5="",

mostrar6="", mostrar7="", mostrar8="", mostrar9="", mostrar10="";
while ( x <= 10){

while ( y < 10){

y=y+1;
if (x ==1){

result = x*y;

mostrar1 = mostrar1+"\n"+ x +" x “+y+” = "+result;

}
if (x ==2){

result = x*y;

mostrar2 = mostrar2+"\n"+ x +" x “+y+” = "+result;

}

}

y=0;

x=x+1;

JOptionPane.showMessageDialog(null,“Tabuada do + mostrar1+””+mostrar2);

// System.out.print();
}

}
}

15 Respostas

fabiel

ja pensou em usar GUI fica bm mais facil e com uma aparencia legal.

fabiel

error

gwoliveira

israeles
pra realmente ficar uma do lado da outra mesmo seria bom criar um frame e ai sim adiciona-los, mas usando o JOptionPane da pra apresentar bem uma de cada vez, coloquei o codigo pra vc dar uma olhada:

import javax.swing.JOptionPane;

public class Tabuada {

public static void main(String[] args) {

int x = 1;

int y = 0;

int result = 0;

String mostrar1 = “”;
while (x <= 10) {
		while (y < 10) {
			y = y + 1;
			result = x * y;
			mostrar1 = mostrar1 + "\n" + x + " x " + y + " = " + result;
		}
		JOptionPane.showMessageDialog(null, "Tabuada do " + x + mostrar1);
		mostrar1 = "";
		y = 0;
		x = x + 1;

	}
}

}

abracos

gwoliveira
gwoliveira:
israeles pra realmente ficar uma do lado da outra mesmo seria bom criar um frame e ai sim adiciona-los, mas usando o JOptionPane da pra apresentar bem uma de cada vez, coloquei o codigo pra vc dar uma olhada:
import javax.swing.JOptionPane;

public class Tabuada {
	public static void main(String[] args) {
		int x = 1;
		int y = 0;
		int result = 0;
		String mostrar1 = "";

		while (x <= 10) {
			while (y < 10) {
				y = y + 1;
				result = x * y;
				mostrar1 = mostrar1 + "\n" + x + " x " + y + " = " + result;
			}
			JOptionPane.showMessageDialog(null, "Tabuada do " + x + mostrar1);
			mostrar1 = "";
			y = 0;
			x = x + 1;

		}
	}
}

abracos

O

Ola alguem poderia me ajudar … esse negocio da tabuada esta legal mais eugostari de fazer uma que o usuario digita um numero e ele faz a tabuada de x1 ate x10 vlw

ViniGodoy

Oi pessoal,

Quem é novo no GUJ, pode por favor ler esse tópico? Vai ensinar não só a postar código por aqui, como dar algumas dicas dos recursos do fórum.

oluaphr, para ler um número do teclado, faça o seguinte:

Scanner teclado = new Scanner(System.in); int numero = teclado.nextInt();

Além do método nextInt, existem também os métodos nextDouble, nextFloat, etc. Para ler qualquer coisa até o enter, use simplesmente next().

Se não é essa sua dúvida, por favor, diga ao pessoal qual é. Só dizer que você gostaria de fazer um programa assim não diz exatamente qual é seu problema, não é? :wink:

ViniGodoy
israeles21:
fiz a 1 e a 2 mas fica uma em baixo da outra, como faço pra deixar uma ao lado da outra??? Obrigado

Para você que está aprendendo agora, não há uma maneira muito fácil de se fazer isso.

Uma delas é fazer a lógica concatenando Strings:

String linha = ""
for (int i = 0; i < 10; i++)
{
  for (int j < 0; j < 10; j++)
     resultado += j + "x" + i + "=" + (i*j) + " ";
  resultado += "\n";
}

JOptionPane.showMessageDialog(null, resultado);

Outra alternativa: você pode se aproveitar do fato do JOptionPane exibir um html e tentar montar uma tabela, se você entede de HTML. Para isso, bastaria usar HTML normal, por exemplo:

JOptionPane.showMessageDialog(null, "<HTML><BODY><CENTER><b>Isso é um exemplo");
O

Entaum a minha duvida e a seguinte…

tipo o programa vai pedir que o usuario digite um numero o qual ele que que faça a tabuada… e qnd ele digitar vai aparecer uma janela escrito a tabuda do numero até 10

O

aee galera ai vai o codigo para fazer a tabuada de qualquer numero

import javax.swing.JOptionPane;
public class Tabuada
{
	public static void main(String[] args) 
		{
			String tab;
			String num;
			int cont;
			int n;
		 try {
	
			num =JOptionPane.showInputDialog("Digite o numero o qual sera feito a tabuada: ");
			
			n=Integer.parseInt(num);
		 tab = "";
					for (cont=+1; cont<=10; cont ++)
			{
				tab+="\n" +cont +"x"+ n+"=" +cont*n;
			}
			JOptionPane.showMessageDialog(null, "Tabuada do " + n + tab);
			tab="";
			
			}
			catch(Exception e) {
           JOptionPane.showMessageDialog(null, "Digite só numero inteiro");

            
            }
      
      }
   
   }
D

Muito bom , eu já conhecia tudo isso.

Mas me digam agora.

eu queria que o resultado aparecesse em um TextArea

Não tá dando certo:

vejam:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JScrollPane;

public class TabuadaEditada extends JFrame implements  WindowListener {

   Label lB;
   Button botaoCalc;
   Button botaoLimp;
   Button botaoClose;
   TextArea aAreaTexto;
   
      // private JLabel labelValor = new JLabel("0");
       private TextField fTexto = new TextField(15);
       private JTextArea areaTexto = new JTextArea(5,20);
     
//--- método construtor: ------  
 public TabuadaEditada() { 
     Frame tela = new Frame();
     setTitle("Tabuada - by: Francis");
     this.setLayout(new BorderLayout()); 
     
 /** variáveis */  
    Label lB = new Label("Informe o número a calcular a tabuada:");

    JButton botaoCalc = new JButton("Calcular");
    JButton botaoLimp = new JButton("Limpar");
    JButton botaoClose = new JButton("Sair");

     fTexto.setText("0");
     areaTexto.setEditable(false);
     areaTexto.setLineWrap(true);
  /** -------------- */
   
   JMenuBar barraMenu = new JMenuBar();
   JMenu menuArquivo = new JMenu("Arquivo");
   JMenu menuOpcoes = new JMenu("Opções");
   JMenu menuCalcular = new JMenu("Calcular");
     JMenuItem optionSair = new JMenuItem("Sair");//, new MenuShortcut(KeyEvent.VK_Q)); // VK_Q = "Crtl+Q"
     JMenuItem optionAjuda = new JMenuItem("Ajuda");
     JMenuItem optionSobre = new JMenuItem("Sobre");  
     
//---------  Agregando os itens ao menu e a barra:    ---------
       menuArquivo.add(optionSair);
       menuOpcoes.add(optionAjuda);
       menuOpcoes.add(optionSobre);
       barraMenu.add(menuArquivo);
       barraMenu.add(menuOpcoes);
       barraMenu.add(menuArquivo);
       barraMenu.add(menuOpcoes);
       setJMenuBar(barraMenu);
       

       

            
      Panel pTopo = new Panel();
       // pTopo.setLayout(new GridLayout(3,4));
        //pTopo.add(lB); 
          pTopo.add("East", lB);
          pTopo.add("West", fTexto);
       
      Panel pCentro = new Panel();
        //pCentro.setLayout(new BorderLayout());
          pCentro.add("Center", areaTexto);
    
      Panel pBotoes = new Panel();
        pBotoes.setLayout(new FlowLayout()); 
        pBotoes.add(botaoCalc); 
        pBotoes.add(botaoLimp);
        pBotoes.add(botaoClose);
        
 /**---- adicionando eventos aos botões ----*/
  //chamada da classe do evento do botão para calcular
       ActionListener listAdd = new CalcularListner();     
         botaoCalc.addActionListener(listAdd);
         // chamada do listener para botao sair


      // EventLimpar eventoLimp = new EventLimpar();
        // botaoLimp.addActionListener(eventoLimp);

       getContentPane().add(pTopo, BorderLayout.NORTH);
       getContentPane().add(pCentro, BorderLayout.CENTER);
       getContentPane().add(pBotoes, BorderLayout.SOUTH);
    }    
   
  class CalcularListner implements ActionListener {
     public void actionPerformed(ActionEvent e) {
     
       int valor = 1;
       String resultado = "";
        
       
      /**         String res;   
        int result=0;   
        if (e.getSource() == mais) {    
            result = Integer.parseInt(n1.getText()) + Integer.parseInt(n2.getText());   
            res = Integer.toString(result);   
            resultado.setText(res);    */
       
      //  try {
     // valor = Integer.parseInt(JOptionPane.showInputDialog(null,"Informe um número para calcular a tabuada: "
     //,"Francis - www.koderzone.com",JOptionPane.INFORMATION_MESSAGE)); 
        for(int i = 1; i <= 10; i++) {
            resultado += Integer.parseInt(fTexto.getText()) + "x" + String.valueOf(i) + " = " + String.valueOf(i * valor) + "\n";
        }
       // JOptionPane.showMessageDialog(null, resultado,"Tabuada",JOptionPane.INFORMATION_MESSAGE);
      areaTexto.append("Tabuada : \n" + resultado + "\n");
       // } catch(NumberFormatException ex) {
           // JOptionPane.showInternalMessageDialog(null,"Valor Inválido!",
           // "Informações",JOptionPane.INFORMATION_MESSAGE);
            //System.exit(1);
        }
        }
     //   }
 //-------  métodos listeners:  -------------
    public void windowClosing(WindowEvent e) {
        System.exit(0);
    }
    public void windowClosed(WindowEvent e){}
    public void windowIconified(WindowEvent e){}
    public void windowOpened(WindowEvent e){}
    public void windowDeiconified(WindowEvent e){}
    public void windowActivated(WindowEvent e){}
    public void windowDeactivated(WindowEvent e){}
    
    public static void main(String[] args) {

            TabuadaEditada tab = new TabuadaEditada();
            tab.setSize(400,400);
            tab.setLocation(300,150);
            tab.setVisible(true);
            }
     
    }

Espero respostas

abraços

Ironlynx

dark123,
pq essa zona no seu código de misturar componentes antigos e dependentes em parte do SO(por terem alguns métodos nativos) como Label,Panel,TextArea…e ter misturado JFrame e Frame???Seu programa deve estar em crise de personalidade!!!Mude tudo para Swing e poste os ERROS conforme eles forem aparecendo. :wink:

thundercas

Outra coisa, o treco

public void windowClosing(WindowEvent e) {

System.exit(0);

}

Não é mais necessário a partir da versão 1.6 (talvez 1.5 tb). Isso servia para determinar que, ao clicar no X da janela a tela deveria fechar. =/ Demoraram até para arrumar isso

abraços

D

Eu já resolvi, o único problema que ele tinha era pra pegar os dados dos TextFields para que fossem utilizados no algoritmo da tabuada.

Mas já esolvi:

import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JLabel;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.WindowListener;
import java.awt.event.WindowEvent;
import javax.swing.JScrollPane;
import javax.swing.JOptionPane;
import java.awt.Color;

public class TabuadaGrafica extends JFrame implements  WindowListener {

   JLabel lB;
   JButton botaoCalc;
   JButton botaoLimp;
   JButton botaoClose;
   JTextArea aAreaTexto;
   
 // private JLabel labelValor = new JLabel("0");
    private JTextField fTexto = new JTextField(15);
    private JTextArea areaTexto = new JTextArea(5,20);
     
//--- método construtor: ------  
 public TabuadaGrafica() { 
     JFrame tela = new JFrame();
     setTitle("Tabuada Gráfica - by: Francis");
     this.setResizable(false);
     this.setLayout(new BorderLayout()); 
     
 /** variáveis */  
    JLabel lB = new JLabel("Informe o número a calcular a tabuada:");

    JButton botaoCalc = new JButton("Calcular");
    JButton botaoLimp = new JButton("Limpar");
    JButton botaoClose = new JButton("Sobre");

     fTexto.setText("0");
     fTexto.setForeground(Color.blue);
     areaTexto.setEditable(true);
     areaTexto.setLineWrap(true);
        
      JPanel pTopo = new JPanel();
          pTopo.add("East", lB);
          pTopo.add("West", fTexto);
       
      JPanel pCentro = new JPanel();
          pCentro.add("Center", areaTexto);
    
      JPanel pBotoes = new JPanel();
        pBotoes.setLayout(new FlowLayout()); 
        pBotoes.add(botaoCalc); 
        pBotoes.add(botaoLimp);
        pBotoes.add(botaoClose);
        
 /**---- adicionando eventos aos botões ----*/
  //chamada da classe do evento do botão para calcular
       ActionListener listAdd = new CalcularListner();     
         botaoCalc.addActionListener(listAdd);
         
      //tratador de eventos para botão limpar:
      ActionListener listLimp = new EventLimp();
         botaoLimp.addActionListener(listLimp);
         
         // chamada do listener para botao sair
       ActionListener listSobre = new EventoSobre();    
         botaoClose.addActionListener(listSobre);
      // EventLimpar eventoLimp = new EventLimpar();
        // botaoLimp.addActionListener(eventoLimp);

       getContentPane().add(pTopo, BorderLayout.NORTH);
       getContentPane().add(pCentro, BorderLayout.CENTER);
       getContentPane().add(pBotoes, BorderLayout.SOUTH);
    }    
   
  class CalcularListner implements ActionListener {
     public void actionPerformed(ActionEvent e) {
     
       int valor;
       int cont;
       String num;          
       String resultado = ""; 
        try {       
      /** num = JOptionPane.showInputDialog(null,"Informe um número para calcular a tabuada: "
     ,"Francis - www.koderzone.com",JOptionPane.INFORMATION_MESSAGE);  */
       num = fTexto.getText();   
        valor = Integer.parseInt(num);   
        for(int i = 1; i <= 10; i ++) {
        resultado += "\n" + i +"x" + valor + "=" + i * valor;   
            //  resultado += Integer.parseInt(fTexto.getText()) + "\n" + i +"x" + valor + "=" + i * valor;   
                            
         //   resultado += Integer.parseInt(fTexto.getText()) + "x" + String.valueOf(i) + " = " + String.valueOf(i * valor) + "\n";
        }
      //JOptionPane.showMessageDialog(null, resultado,"Tabuada",JOptionPane.INFORMATION_MESSAGE);
      //JOptionPane.showMessageDialog(null, "Tabuada do " + valor + ":" + resultado); 
      areaTexto.append("Tabuada: \n" + resultado + "\n");
        } catch(NumberFormatException ex) {
            JOptionPane.showMessageDialog(null,"Valor Inválido!",
           "Informações",JOptionPane.INFORMATION_MESSAGE);
           
        areaTexto.append("Valor inválido \n");
        }
        }
       }
       
  class EventLimp implements ActionListener {
      public void actionPerformed(ActionEvent e) {    
           fTexto.setText("");
           areaTexto.setText("");       
}
}
           
 //-------  métodos listeners:  -------------
    public void windowClosing(WindowEvent e) {
        System.exit(0);
    }
    public void windowClosed(WindowEvent e){}
    public void windowIconified(WindowEvent e){}
    public void windowOpened(WindowEvent e){}
    public void windowDeiconified(WindowEvent e){}
    public void windowActivated(WindowEvent e){}
    public void windowDeactivated(WindowEvent e){}
    
    public static void main(String[] args) {

            TabuadaGrafica tab = new TabuadaGrafica();
            tab.setSize(500,300);
            tab.setLocation(300,150);
            tab.setVisible(true);
            }
     
    }
salve como outra classe:
import javax.swing.*;
 import java.awt.event.*;
 import java.awt.*;
 
 public class EventoSobre implements ActionListener {
      // método listener:
     public void actionPerformed(ActionEvent e) {
     JOptionPane.showMessageDialog(null,"Por: Francis Rodrigues\n\nvisitewww.koderzone.com", "Informações", JOptionPane.INFORMATION_MESSAGE);
     //System.exit(0);
    }
}
Outra maneira é essa:
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JLabel;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.WindowListener;
import java.awt.event.WindowEvent;
import javax.swing.JScrollPane;
import javax.swing.JOptionPane;
import java.awt.Color;

public class TabOptionPane extends JFrame implements  WindowListener {

   JLabel lB;
   JButton botaoCalc;
   JButton botaoLimp;
   JButton botaoClose;
   JTextArea aAreaTexto;
   
      // private JLabel labelValor = new JLabel("0");
       private JTextField fTexto = new JTextField(15);
       private JTextArea areaTexto = new JTextArea(5,20);
     
//--- método construtor: ------  
 public TabOptionPane() { 
     JFrame tela = new JFrame();
     setTitle("Tabuada - by: Francis");
     this.setResizable(false);
     this.setLayout(new BorderLayout()); 
     
 /** variáveis */  
    JLabel lB = new JLabel("Informe o número a calcular a tabuada:");

    JButton botaoCalc = new JButton("Calcular");
    JButton botaoLimp = new JButton("Limpar");
    JButton botaoClose = new JButton("Sobre");

     fTexto.setText("0");
     fTexto.setForeground(Color.blue);    
     areaTexto.setEditable(true);
     areaTexto.setLineWrap(true);
     
      JPanel pTopo = new JPanel();
       // pTopo.setLayout(new GridLayout(3,4));
        //pTopo.add(lB); 
          pTopo.add("East", lB);
          pTopo.add("West", fTexto);
       
      JPanel pCentro = new JPanel();
        //pCentro.setLayout(new BorderLayout());
          pCentro.add("Center", areaTexto);
    
      JPanel pBotoes = new JPanel();
        pBotoes.setLayout(new FlowLayout()); 
        pBotoes.add(botaoCalc); 
        pBotoes.add(botaoLimp);
        pBotoes.add(botaoClose);
        
 /**---- adicionando eventos aos botões ----*/
  //chamada da classe do evento do botão para calcular
       ActionListener listAdd = new CalcularListner();     
         botaoCalc.addActionListener(listAdd);
            //tratador de eventos para botão limpar:
      ActionListener listLimp = new EventLimp();
         botaoLimp.addActionListener(listLimp);
         
         // chamada do listener para botao sair
       ActionListener listSobre = new EventoSobre();    
         botaoClose.addActionListener(listSobre);
      // EventLimpar eventoLimp = new EventLimpar();
        // botaoLimp.addActionListener(eventoLimp);

       getContentPane().add(pTopo, BorderLayout.NORTH);
       getContentPane().add(pCentro, BorderLayout.CENTER);
       getContentPane().add(pBotoes, BorderLayout.SOUTH);
    }    
   
  class CalcularListner implements ActionListener {
     public void actionPerformed(ActionEvent e) {
     
       int valor;
       int cont;
       String num;          
       String resultado = ""; 
        try {       
      /** num = JOptionPane.showInputDialog(null,"Informe um número para calcular a tabuada: "
     ,"Francis - www.koderzone.com",JOptionPane.INFORMATION_MESSAGE);  */
       num = fTexto.getText();   
        valor = Integer.parseInt(num);   
        for(int i = 1; i <= 10; i ++) {
        resultado += "\n" + i +"x" + valor + "=" + i * valor;   
            //  resultado += Integer.parseInt(fTexto.getText()) + "\n" + i +"x" + valor + "=" + i * valor;   
                            
         //   resultado += Integer.parseInt(fTexto.getText()) + "x" + String.valueOf(i) + " = " + String.valueOf(i * valor) + "\n";
        }
      //JOptionPane.showMessageDialog(null, resultado,"Tabuada",JOptionPane.INFORMATION_MESSAGE);
      JOptionPane.showMessageDialog(null, "Tabuada do " + valor + ":" + resultado); 
      areaTexto.append("Tabuada: \n" + resultado + "\n");
        } catch(NumberFormatException ex) {
            JOptionPane.showMessageDialog(null,"Valor Inválido!",
           "Informações",JOptionPane.INFORMATION_MESSAGE);
           
        //areaTexto.append("Valor inválido \n");
        }
        }
       }
       
   class EventLimp implements ActionListener {
      public void actionPerformed(ActionEvent e) {    
           fTexto.setText("");
           areaTexto.setText("");       
}
}      
       
 //-------  métodos listeners:  -------------
    public void windowClosing(WindowEvent e) {
        System.exit(0);
    }
    public void windowClosed(WindowEvent e){}
    public void windowIconified(WindowEvent e){}
    public void windowOpened(WindowEvent e){}
    public void windowDeiconified(WindowEvent e){}
    public void windowActivated(WindowEvent e){}
    public void windowDeactivated(WindowEvent e){}
    
    public static void main(String[] args) {

            TabOptionPane tab = new TabOptionPane();
            tab.setSize(500,300);
            tab.setLocation(300,150);
            tab.setVisible(true);
            }
    }
segunda classe:
import javax.swing.*;
 import java.awt.event.*;
 import java.awt.*;
 
 public class EventoSobre implements ActionListener {
      // método listener:
     public void actionPerformed(ActionEvent e) {
     JOptionPane.showMessageDialog(null,"Por: Francis Rodrigues\n\nvisitewww.koderzone.com", "Informações", JOptionPane.INFORMATION_MESSAGE);
     //System.exit(0);
    }
}

Só preciso de um JScrollPane pra resolver o problema de tudo agora :wink:
Não está tão ruim assim, não é? rss

Obrigado pela ajuda mesmo assim.

I
for (int i = 0; i <= 9; i++) {

System.out.println("Tabuada do " + i);

for (int j = 0; j <= 9; j++) {

System.out.println(i + " x " + j + " = " + (i * j));

}

}

COMO FAÇO PRA EXIBIR ISSO NUM JTextArea???

Rachel_da_Silveira_C
package br.com.Tab;

import javax.swing.JOptionPane;

public class Tab {

	public static void main(String args[]) {

		int x = 1;
		int y = 0;
		int result = 0;
		String mostrar = "";

		while (x <= 10) {
			while (y < 10) {
				y = y + 1;

				result = x * y;
				mostrar = mostrar + "\n" + x + " x " + y + " = " + result;

			}

			JOptionPane.showMessageDialog(null, "Tabuada do " + x + mostrar);
			y = 0;
			x = x + 1;

			mostrar = "";

			

		}

	}
}
Criado 19 de abril de 2007
Ultima resposta 5 de out. de 2011
Respostas 15
Participantes 10