Dúvida nos Exercícios

9 respostas
J

Oi galera do Portal, estou com uma dúvida cruel em dois exercícios, um eu consegui fazer só que não estou entendo se esta certo. Este programa faz fatoração de números digitados em um applet, o que acontece é que quando eu digito um número a primeira vez dá certo ja na segunda, ele multiplica o valor existente pelo que eu digitei, estranho né, mais é isso que acontece, quando eu dou um f5 na tela ele aceita, mais no meu entendimento, ele deveria aceitar um atras do outro. veja o exemplo abaixo:

import java.awt.Container;

import java.awt.FlowLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;
import javax.swing.JApplet;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JTextField;
public class Exp extends JApplet implements ActionListener

{

long n1=0,n2=1,valor;

JLabel numberLabel,resultLabel;

JTextField numberField, resultField;
public void init ()
	{
		Container container = getContentPane ();
		container.setLayout (new FlowLayout ());
	
	
		numberLabel = new JLabel ("Entre com um nº para fatoração: ");
		container.add (numberLabel);
				
		numberField = new JTextField (7);
		container.add(numberField);
	
		numberField.addActionListener(this);
	
		resultLabel = new JLabel ("Valor: ");
		container.add(resultLabel);
	
		resultField = new JTextField (15);
		resultField.setEditable(false);
		container.add(resultField);
	}
	
	public void actionPerformed (ActionEvent e)
	{	
		n1 = Long.parseLong(numberField.getText ());
		showStatus ("Calculando...");
		n2 = contagem (n1);
		showStatus ("Pronto. ");
		resultField.setText(Long.toString(n2));
	}
	
	public long contagem (long contador)
	{
			long teste;
			teste = n1;
			for (contador=teste; contador >=1; contador-- )
				
				n2 *= (contador);
			
			return n2;
		
						
	}
	
}

O outro exercício que eu não estou tendo lógica para fazer é este abaixo, eu ja pensei em várias maneiras, mas não clareia, please me ajudem…

Escreva um método isEven que utiliza o operador de módulo para determinar se um inteiro é par. o metodo deve receber um argumento inteiro e retornar true se o inteiro for par false. Incorpore esse método a um applet que lê uma série de inteiros (um por vez, utilizando um JTextField.

Abraços
:wink: Edjane

9 Respostas

S

de q livro saum esses exercicios?? se for do java como programar tericeira edicao…diz ai a pagina pra eu ler eles e tentar fazer…!!!

flw

J

Oi o Livro é Java como programar 4ª Edição, o primeiro não esta no livro mais o segundo é o Capitulo6 exer 17 Pág. 310,
este primeiro meu professor me deu uma dica e deu certo.
tem que definir a variável n2 valendo 1, então toda vez que o applet dá o looping ele retorna ao valor 1 até o usuário definir um novo valor.

:roll: Abraços
Edjane

S

“Java_new”:
Oi o Livro é Java como programar 4ª Edição, o primeiro não esta no livro mais o segundo é o Capitulo6 exer 17 Pág. 310,
:roll: Abraços
Edjane

vou dar 1 olhada no exercicio e vou ver o q posso fazer

abraco

H

Mensagem duĺicada !!! Foi mal :oops:

H

É só criar um método para informar se um número é PAR ou não utilizando o operador ‘%’.

boolean isEven (int num){ return (num % 2) == 0; }

O método é esse, agora você coloca em um Applet e usa um JTextField para que o usuário informe o número que será testado no método isEven.

M

Cara eu também tenho o livro e estava dando uma olhada no problema e acho que o código abaixo resolve :lol:

/*
 * Criado em 31/07/2004
 *
 * Para alterar o gabarito para este arquivo gerado vá para
 * Janela>Preferências>Java>Geração de Códigos>Código e Comentários
 */
package cap6.exercicios;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

/**
 * @author Marcos Sousa
 *
 * Para alterar o gabarito para este comentário do tipo gerado vá para
 * Janela>Preferências>Java>Geração de Códigos>Código e Comentários
 */
public class Exec17 extends JApplet implements ActionListener 
{
	JLabel rtlNum, rtlPar;
	JTextField txtNum, txtPar;
	
	// cria metodo para exibir componentes GUI
	public void init()
	{
		// cria e configura painel de exibição de componentes GUI
		Container painel = getContentPane();
		painel.setLayout( new FlowLayout() );
		
		// cria rótulo e caixa de texto para número entrado usuário
		rtlNum = new JLabel ("Número:");
		painel.add ( rtlNum );
		txtNum = new JTextField (5);
		painel.add( txtNum );
		
		// cria chamada de evento para actionPerformed
		txtNum.addActionListener( this ); // this referencia ao applet
		
		// cria rótulo e caixa de texto para exibir resultado
		rtlPar = new JLabel ("O número é par?");
		painel.add( rtlPar );
		txtPar = new JTextField (5);
		txtPar.setEditable( false );
		painel.add( txtPar );
				
	} // fim do método init
	public void actionPerformed(ActionEvent e) 
	{	
		int num = Integer.parseInt( txtNum.getText() );
		
		txtPar.setText( Boolean.toString( ePar (num) ) );
			
	} // fim do método actionPerformed
	
	public boolean ePar ( int num )
	{
		if ( ( num%2 ) == 0)
			return true;
		else
			return false;
	}

} // fim da classe Exec17
J

Valeu Marcos Sousa, estava apanhando neste exercício, muito abrigada mesmo.
Eu sou nova em programação, estou no segundo semestre de Segurança da Informação, tem 7 meses que eu comecei com lógica em pascal e 2 mêses que estou fazendo Java, estou apanhando um pouco e este portal tem me ajudado bastante.

Aproveitando quero agradecer aos criadoresdo Portal e a todos que colaboram com pessoas igual a mim, e pretendo um dia entender legal para ajudar novas pessoas que aparecerem nesta fantástica linguagem.

Abraços
:wink: Edjane

M

Eu também sei pouquinho de Java agora que estou aprimorando, gosto daqui também porque a galera me auxilia pra valer, eu também estou fazendo um grande esforço para ajudar naquilo que eu sei

Abraços!!!
:wink:

M

Eu também sei pouquinho de Java agora que estou aprimorando, gosto daqui também porque a galera me auxilia pra valer, eu também estou fazendo um grande esforço para ajudar naquilo que eu sei

Abraços!!!
:wink:

Criado 27 de julho de 2004
Ultima resposta 2 de ago. de 2004
Respostas 9
Participantes 4