Dúvida com Laço

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…

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

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

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

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.

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

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

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.

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…

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

assim:

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

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

Até mais !
Renata :roll:

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

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

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.

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

deve estar certo o comportamento do programa agora…

valeu turma pelas ajudas!!