Questao do livro Kathy Sierra scjp 5- dúvida pag 227

Na Resposta do livro o correto era pra arrumar o else if… e arrumando ele a resposta correta seria “OF(11) IS : 111”… nao consigo fazer dar 111 na resposta? alguem chegou nesse resultado?

public class OrtegorumFunction{
public int computeDiscontinuous(int x) {
int r = 1;
r += x;
if ((x > 4) && (x < 10)){
r += 2 * x;
} else if (x <= 4){
r += 3 * x;
} else {
r += 4 * x;
}
r + = 5 * x;
return r;
}
public static void main(String [] args){
OrtegorumFunction o = new OrtegorumFunction();
System.out.println("OF(11) is: " + o.computeDiscontinuous(11));
}
}

public class OrtegorumFunction{ public int computeDiscontinuous(int x) { //x = 11 int r = 1; //r = 1 r += x; // r = 1 + 11 .:. r = 12 if ((x &gt; 4) && (x &lt; 10)){ //falso r += 2 * x; } else if (x &lt;= 4){ //falso r += 3 * x; } else { //true r += 4 * x; // r = 12 + 4*11 .:. r = 12 + 44 .:. r = 56 } r + = 5 * x; // r = 56 + 5*11 .:. r = 56 + 55 .:. r = 111 return r; //r = 111 } }

Acho que o Lavieri, já te mostrou mas caso você tem uma IDE o que você poderia fazer era(pelo menos isso me ajudou a entender muito):

Debug.

Vai na sua IDE, bota um breakpoint no começo da função que você que analizar e vai seguindo! Pelo menos no netbeans quando você ta fazendo um debug, você pode tanto ir em Janela > Depurar > Variaveis Locais, ou so ir apertando F8 que ele vai indo pra frente, ai se você deixa o mouse em cima de uma variavel(se não for array, se for array você em que abrir a janela de variaveis locais) mostra um tool tip text com o valor dela =).

Aí da pra você acompanhando!
De repente você já sabia disso né! Mas fica a dica =P
Eu fiz tanto isso que eu to mo debug humano o_o, pelo menos com as poucas coisas sobre java que sei!

Vlws!