Dúvida com Laço

7 respostas
R

oi galera to postando ai mais uma vez hauahua...
estou aqui tentando desenvolver uma aplicação mas ainda não achei o raciocínio, onde teria q localizar o menor de vários inteiros suponhando que o primeiro valor digitado pelo usuário especifica o numero de valores a serem digitados pelo usuário. Até agora escrevi assim mas ele não executa o laço...

// Programa para localizar o menor de vários inteiros utilizando Loop.

// Importa pacote de Java.
import javax.swing.JOptionPane;

public class MenorInteiro {
	
	// Método que inicia a execução da aplicação em Java.
	public static void main ( String args []) {
		
		String n; // String digitada pelo usuário como entrada.
		int menor = 0; // Inicia a variável menor com o valor 0.
		int number; // Armazena o número do usuário.
	    
		// Solicita ao usuário um diálogo de entrada.
		n = JOptionPane.showInputDialog ( "Digite o número no campo abaixo:");
		
		// Converte a String digitada pelo usuário em inteiro.
		number = Integer.parseInt ( n ); 
		
		// Inicia a fase do Loop da aplicação.
		 for ( int contador = 1; contador <= number; contador++){
			
			// Faz a seleção para verificar o menor número.
			if ( number < menor) {
				menor = number;
				
			} // fim da estrutura if.
			
		} // Fim da estrutura for.
		
		// Envia uma mensagem ao usuário com o menor número
		JOptionPane.showMessageDialog ( null, "O Menor número digitado foi: " +number, "Menor Inteiro", JOptionPane.INFORMATION_MESSAGE);
		
	} // Fim do método main.
	
} // Fim da classe MenorInteiro.

deixei o código comentado por isso ficou grande assim... se puderem me ajudar me falem o q preciso fazer.. obrigado ae!

7 Respostas

I

cara tu ta fazendo so uma solicitação de valores para o usuarios ,tenta colocar

int numeroInformado;
for ( int contador = 1; contador <= number; contador++){

   n = JOptionPane.showInputDialog ( "Digite o número no campo abaixo:"); //faz a solicitação do novo valor ao usuario
        
   numeroInformado=Integer.parseInt (n);

         // Faz a seleção para verificar o menor número.
         if ( numeroInformado < menor) {
            menor = numeroInformado;
            
         } // fim da estrutura if.
         
      } // Fim da estrutura for

ai ele vai fazer pedir varios valores para o usuario

R

tipo a estrutura é assim: solicito ao usuario digitar um número inteiro. e esse primeiro valor q ele digitou deve especificar quantas vezes o laço vai ser executado. eu penso q dai ele teria q digitar os números novamente e fazer a comparação… seria esse o raciocinio certo? o exercicio pedem basicamente assim.

R

eu ja to quase la! só tem um problema q eu não estou vendo. ele diz q a variável "menor" não foi inicializada... o codigo está assim agora

// Programa para localizar o menor de vários inteiros utilizando Loop.

// Importa pacote de Java.
import javax.swing.JOptionPane;

public class MenorInteiro {
	
	// Método que inicia a execução da aplicação em Java.
	public static void main ( String args []) {
		
		int numero; // Armazena o numero do usuario no laço.
		int number; // Armazena o inteiro digitado.
		String n; // String digitada pelo usuario.
		String x; // String digitada pelo usuário no laço.
		int menor; // Armazena o valor do menor inicialmente 0.
	    
		// Solicita ao usuário um diálogo de entrada.
		n = JOptionPane.showInputDialog ( "Digite o número de inteiros que serão avaliados:");
		
		// Converte a String digitada pelo usuário em inteiro.
		number = Integer.parseInt ( n ); 
		
		// Inicia a fase do Loop da aplicação.
		 for ( int contador = 1; contador <= number; contador++){
		 		 
	 	    // faz a solicitação do novo valor ao usuario.
		 	x = JOptionPane.showInputDialog ( "Digite o número no campo abaixo:"); 
	        
		 	// converte o numero digitado pelo usuário em inteiro.
	        numero = Integer.parseInt ( x ); 
	        
	        menor = numero;
			
			// Faz a seleção para verificar o menor número.
			if ( numero < menor) {
				menor = numero;
				
			} // fim da estrutura if.
			
		} // Fim da estrutura for.
		
		// Envia uma mensagem ao usuário com o menor número
		JOptionPane.showMessageDialog ( null, "O Menor número digitado foi: " +menor, "Menor Inteiro", JOptionPane.INFORMATION_MESSAGE);
		
		System.exit ( 0 );
		
	} // Fim do método main.
	
} // Fim da classe MenorInteiro.
I

seria bom vc inicializar a vrialvel menor com o primeiro munero digita antes de entrar no laço for para garantir que realmente inicie com o menor valor depois parece que tem um pequeno erro nesta parte do codigo

menor = numero;
         
         // Faz a seleção para verificar o menor número.
         if ( numero < menor) {
            menor = numero;
            
         } // fim da estrutura if.

vc atribui o valor de numero ao menor depois testa se um é menor que o outro, esse teste sempra vai dar falso.

R

pelo q parece está mesmo no laço… só q mesmo eu iniciando antes do for fico com problemas. poderia me dar alguns procedimentos? eu fiz alguns outros exercicios para mostrar o maior e o menor usando a mesma estrutura… nesse eu realmente to errando na hora da atribuição do menor…

R

Oi Rojas !
Vc só precisa adicionar o zero na declaração da variável menor !

assim:
public static void main ( String args []) { 
    
   int numero; // Armazena o numero do usuario no laço. 
   int number; // Armazena o inteiro digitado. 
   String n; // String digitada pelo usuario. 
   String x; // String digitada pelo usuário no laço. 
   int menor = 0; // Armazena o valor do menor inicialmente 0.

O único probleminha tá aí ... coloquei no eclipse e compilou direitinho !

Até mais !
Renata :roll:

"Rojas":
eu ja to quase la! só tem um problema q eu não estou vendo. ele diz q a variável "menor" não foi inicializada... o codigo está assim agora
// Programa para localizar o menor de vários inteiros utilizando Loop.

// Importa pacote de Java.
import javax.swing.JOptionPane;

public class MenorInteiro {
	
	// Método que inicia a execução da aplicação em Java.
	public static void main ( String args []) {
		
		int numero; // Armazena o numero do usuario no laço.
		int number; // Armazena o inteiro digitado.
		String n; // String digitada pelo usuario.
		String x; // String digitada pelo usuário no laço.
		int menor; // Armazena o valor do menor inicialmente 0.
	    
		// Solicita ao usuário um diálogo de entrada.
		n = JOptionPane.showInputDialog ( "Digite o número de inteiros que serão avaliados:");
		
		// Converte a String digitada pelo usuário em inteiro.
		number = Integer.parseInt ( n ); 
		
		// Inicia a fase do Loop da aplicação.
		 for ( int contador = 1; contador <= number; contador++){
		 		 
	 	    // faz a solicitação do novo valor ao usuario.
		 	x = JOptionPane.showInputDialog ( "Digite o número no campo abaixo:"); 
	        
		 	// converte o numero digitado pelo usuário em inteiro.
	        numero = Integer.parseInt ( x ); 
	        
	        menor = numero;
			
			// Faz a seleção para verificar o menor número.
			if ( numero < menor) {
				menor = numero;
				
			} // fim da estrutura if.
			
		} // Fim da estrutura for.
		
		// Envia uma mensagem ao usuário com o menor número
		JOptionPane.showMessageDialog ( null, "O Menor número digitado foi: " +menor, "Menor Inteiro", JOptionPane.INFORMATION_MESSAGE);
		
		System.exit ( 0 );
		
	} // Fim do método main.
	
} // Fim da classe MenorInteiro.
R

Opa blz? eu finalmente consegui resolver o problema aqui hahaha....
tipo se eu iniciar com 0 a variavel menor ele executa, mas com resultados errados no final...

eu declarei antes do laço o valor de menor e agora parece estar funcionando corretamente.

// Programa para localizar o menor de vários inteiros utilizando Loop.

// Importa pacote de Java.
import javax.swing.JOptionPane;

public class MenorInteiro {
	
	// Método que inicia a execução da aplicação em Java.
	public static void main ( String args []) {
		
		int numero; // Armazena o numero do usuario no laço.
		int number; // Armazena o inteiro digitado.
		String n; // String digitada pelo usuario.
		String x; // String digitada pelo usuário no laço.
		int menor; // Armazena o valor do menor
		
		// Solicita ao usuário um diálogo de entrada.
		n = JOptionPane.showInputDialog ( "Digite o número de inteiros que serão avaliados:");
		
		// Converte a String digitada pelo usuário em inteiro.
		number = Integer.parseInt ( n ); 
		
		menor = number;
		
		// Inicia a fase do Loop da aplicação.
		 for ( int contador = 1; contador <= number; contador++ ){
		 		 
	 	    // faz a solicitação do novo valor ao usuario.
		 	x = JOptionPane.showInputDialog ( "Digite o número no campo abaixo:"); 
	        
		 	// converte o numero digitado pelo usuário em inteiro.
	        numero = Integer.parseInt ( x );  
	        
			// Faz a seleção para verificar o menor número.
			if ( numero < menor) {
				menor = numero;
				
			} // Fim da estrutura if.
			
		} // Fim da estrutura for.
		
		// Envia uma mensagem ao usuário com o menor número
		JOptionPane.showMessageDialog ( null, "O Menor número digitado foi: " +menor, "Menor Inteiro", JOptionPane.INFORMATION_MESSAGE);
		
		System.exit ( 0 );
		
	} // Fim do método main.
	
}// Fim da classe MenorInteiro.

deve estar certo o comportamento do programa agora...

valeu turma pelas ajudas!!

Criado 9 de julho de 2005
Ultima resposta 9 de jul. de 2005
Respostas 7
Participantes 3