Livro Kathy Sierra e Bert Bates

5 respostas
D

Olá, boa tarde.

Esta é meu primeiro tópico no fórum, acredito que eu esteja postando no local correto, caso contrário peço desculpas.
Estou com uma dúvida referente a página 91 do livro Use a cabeça (edição pt-br)

alí no exercício abaixo tem uma classe com o nome MixFor5, ela disponibiliza “candidatos” e possíveis saídas do System.out.println();

A questão é que alguns candidatos não estão batendo com as saídas possíveis, alguém saberia me dizer se é erro do livro?
por exemplo, o candidato x = x + 3 não gera a saída “54 6” e sim “33 12” (a qual nem existe nas opções)

public class MixFor5 { public static void main(String[] args){ int x = 0; int y = 30; for(int outer = 0; outer < 3; outer++){ for(int inner = 4; inner > 1; inner--){ // bloco candidato! x = x+3; // fim y = y -2; if(x == 6){ break; } } x = x + 3; } y = y - 2; System.out.println(x + " " + y); }

Aproveito para questionar sobre as palavras cruzadas do livro, tenho a impressão de que há erros de tradução, alguém passou por isso? O que me parece é que em vários momentos encontro alguma tradução mal feita, inclusive encontrei partes de um código sendo traduzida em alguns momentos e outros não, isso na mesma classe!

Pretendo começar a ler os livros de Java somente em inglês, este é meu primeiro livro sobre o assunto, alguém poderia me orientar se como segundo livro é interessante pegar o Core ou o do Deitel?

Abraços.

5 Respostas

tgcmv

Cara, a saida pelo menos do y é 12 mesmo.
O problema desse código é que não entendi o objetivo dele. Se você for na mão executando o código verá que a saida do y é 12.
Tentar debugar pra ver melhor isso (se não saber fazer ou se está programando no notepad++ deixa pra depois). Bons estudos.

Embora o use a cabeça seja uma série muito boa nunca li o use a cabea java. (O use a cabeça servlet e jsp em pt mesmo é muito bom.) De fato há erros de tradução em vários livro de TI.
Já ouvi muita gente falando bem do core java. O deitel acho que não vale o custo beneficio (a não ser que seja um pdf hehehe).

Ah, quando for postar algo tenta usar um titulo mais claro como por exemplo duvida em exercicio.

D

Obrigado tgcmv!

Deu o mesmo resultado pra mim.

Estou utilizando o NetBeans no Ubuntu. Certo cara, vi mesmo que falhei no título da mensagem.
O código não tem um objetivo espefícico, exceto pelo fato de trabalhar com um for dentro de outro, coisas pra iniciantes como eu.

Bem, pelo jeito parece mais interessante investir no Core depois que eu terminar todos exercícios deste. :smiley:

Abraços e obrigado mais uma vez.

tgcmv

Quanto a esses livros se tiver acesso a alguma biblioteca de faculdade, pegueos lá mesmo. Afinal creio que só será usado uma vez na vida. É mais interessante compara livros de ‘conceitos’ como padorões de projeto, análise de projetos ou algum livro mais avançado como o core java 2 ou algum livro para certificação. Agora, se vc tem dificuldades de aprender não tem professores e nem acesso a bibliotecas compre-os pois realmente facilitam muito no aprendizado.

Dá uma olhada nesse material aqui: http://www.caelum.com.br/apostilas/

A

Eu tenho o livro aqui, e ele gera exatamente 54 6, vc que digitou o codigo errado.

Codigo correto:
public class MixFor5 {
    public static void main(String[] args){
        int x = 0;
        int y = 30;
        for(int outer = 0; outer < 3; outer++){
            for(int inner = 4; inner > 1; inner--){
                // bloco candidato!
                x = x+3;
                // fim
                y = y -2;
                if(x == 6){
                    break;
                }
				x = x + 3; // essa instrução fica dentro do for interno
            }
       
			y = y - 2; //e essa fica dentro do for externo
        }
        
		System.out.println(x + " " + y);
    }
	
}
D

Verdade Amigo! Agora está explicado o motivo de não fechar nenhum dos valores…
Bah, fiquei um bom tempo nesse exercício… hehehe

Muito obrigado! Abraços.

Criado 6 de dezembro de 2012
Ultima resposta 6 de dez. de 2012
Respostas 5
Participantes 3