For/IF

11 respostas
F

Olá!! Pessoal estou fazendo um exercícios de uma apostila que eu baixei da internet. O problema para ser resolvido é esse:

Escreva um programa que percorra dois laços de 0 a 10, um interno ao
outro, imprimindo os contadores, e quando estes forem iguais, o programa deve
passar à próxima interação do laço mais externo, caso contrário, deve imprimir os
valores dos contadores dos dois laços.

E o código que tenho é esse:

public class LacosInternos {
   public static void main (String [] args){
       int n1 = 0;
       int n = 0;
                    
       for (;  n < 10; ){
               n++;
                           
            for (;n1 < 10;){ 
           
                n1++;
                        break;
        }
        if (n == n1){
            break;
       } else {
             System.out.println ("Laco externo:" +n);
              System.out.println("Laco interno:" + n1);    
       }
    }
 }
}

O que está acontecendo é que como os números sao iguais entao ele nao retorna nada, minha pergunta seria como resolver o problema citado a cima.

11 Respostas

MABS

Olá, Fernando Ruiz!

Infelizmente não consegui entender o que realmente o exercício propôs, mas, caso você esteja começando a estudar Java eu remendo a leitura do livro Use a Cabeça Java da Kathy Sierra, fora este livro tem umas apostilar ótimas abertas para downloads no site da Caelum.

Caso esteja interessado nas apostilas recomendo seguir a seguinte ordem:

FJ11 - Java e Orientação a Objeto:
http://www.caelum.com.br/curso/fj-11-java-orientacao-objetos/

FJ21 - Java para Desenvolvimento Web:
http://www.caelum.com.br/curso/fj-21-java-web/

FJ16 - Laboratório Java com Testes, XML e Design Patterns:
http://www.caelum.com.br/curso/fj-16-laboratorio-java-testes-xml-design-patterns/

Mas primeiro leia o Use a Cabeça Java da Kathy Sierra:
http://www.submarino.com.br/produto/1/21294017/use+a+cabeca!+java

Este livro e as apostilas me ajudaram muito.
Qualquer dúvida só avisar, não sei tudo sobre Java e nem chego perto disso, mas o que poder responder demoro.
A sua dúvida pode ser a minha amanhã!

Abraço!

F

Valeu MABS. Irei baixar essas apostilas.

Anime

Oi,

Você está confundindo For e IF , antes de aprender qualquer linguagem é preciso aprender lógica de programação…

F

Anime eu tive Lógica de promacao na faculdade, mas foi bem superficial, depois o professor comecou a ensinar Visual Basic, onde nós apenas usavamos interface e lendo percebi que aquilo nao era programacao, bom por isso que comecei a estudar Java e posto meus códigos no fórum na parte básica. Mas valeu pela dica.

Anime

Oi Fernando,

Se vc aprender a lógica pode programar em qualquer linguagem, claro que muda um pouco, mas a lógica é sempre a mesma, eu tive lógica por 6 meses e foi muito bom…

Boa sorte!

JhowTroMundo

O exercício propoe um código que não imprima os iteradores quando forem iguais.

for(int i =0; i<=10;i++){
       for(int j =0;j<=10;j++){
             if (i == j){
                  continue;
             }
             System.out.println("I = " + i + ",  J = " + j); 
       }
}
S

Fiz dessa forma e acho que ficou bom:

int x = 0;
int y = 0;

while (x<10)
	
	{
		x++;
		
		System.out.println("impressão do laço: X " + x );
		
		while (y<10){
			
			y++;
			
			System.out.println("impressão do laço: y " + y );
								 
			if (x == y){
				
			continue;
			
			}else{
					
			System.out.println("impressão dos dois laços qd forem diferentes: X " + x + " Y " + y);
										
			}
			
		}
	}
Lucas_Abbatepaolo

JhowTroMundo:
O exercício propoe um código que não imprima os iteradores quando forem iguais.

for(int i =0; i<=10;i++){ for(int j =0;j<=10;j++){ if (i == j){ continue; } System.out.println("I = " + i + ", J = " + j); } }

Pelo que entendi não é somente não imprimir os indices forem iguais

Escreva um programa que percorra dois laços de 0 a 10, um interno ao
outro, imprimindo os contadores, e quando estes forem iguais, o programa deve
passar à próxima interação do laço mais externo, caso contrário, deve imprimir os
valores dos contadores dos dois laços.

EXTERNO:
for(int i = 0; i <= 10; i++){
	for(int j = 0; j <= 10; j++){
		if(i == j){
			continue EXTERNO;
		}
		System.out.println("i = "+i);
		System.out.println("J = "+j);
		System.out.println("\n");
	}
}

Antes que pergunte este "EXTERNO" serve para nomear o primeiro for e assim eu mandar ele continuar qnd os valores forem repetidos

flw…

MABS

Olá, s4andro.

Por favor, quando colocar um código no forum não se esqueça de deixar o código entre as tags [“code”] Seu Código! ["/code"] (Sem as aspas dentro da tag code).

Sucesso!
Abraço!

S

Okay Mabs

T

Pessoal, bom dia

Estou procurando um bom livro para aprender java, e o MABS, sugeriu o Use a Cabeça, minha dúvida esta com relação as versões do Java. O Java já esta na versão 7 e pelo que eu percebi o Use a Cabeça esta na versão 5, é recomendado mesmo estudar por ele? vocês conhecem outro livro mais atualizado?

Desde já agradeço pela dica…

Criado 20 de maio de 2011
Ultima resposta 31 de jul. de 2012
Respostas 11
Participantes 7