Ajuda na tabuada

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();

}

}
}

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

error

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

[quote=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:

[code]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;

	}
}

}
[/code]

abracos[/quote]

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

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:

[quote=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[/quote]

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:

[code]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);
[/code]

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");

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

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

[code]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");

        
        }
  
  }

}

[/code]

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:

[code]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);
        }
 
}[/code]

Espero respostas

abraços

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:

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

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:

[code]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);
        }
 
}[/code]

salve como outra classe:

[code] 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);
}
}[/code]

Outra maneira é essa:

[code]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);
        }
}[/code]

segunda classe:

[code] 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);
}
}[/code]

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.

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

[code]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 = "";

		

	}

}

}
[/code]