Exercicio Java

6 respostas
I

Bom dia pessoal.
To com um exercicio aqui e tenho duvida nos resultados. Pra mim isso imprimi 85, mas quando compilei imprime 82. PODEM ME AJUDAR NA SOLUÇÃO?

Segue o código.

[code]

O que imprime?

A) 53
B) 82
C) 83
D) 85
E) 103

Class Test{
public static void main(String[] args){
int x = 0;
int y = 0;
for(int z = 0; z<5; z++){
if((++x>2)(++y>2)){
x++
}
}
System.out.println(x + " " + y);
}
}

6 Respostas

D

Tem certeza que isso compila?

I

sim. Eu consegui compilar e imprimiu 82.
so preciso resaltar algo no código.

[code]
Class Test{
public static void main(String[] args){
int x = 0;
int y = 0;
for(int z = 0; z<5; z++){
if((++x>2)||(++y>2)){ // tem um OU aqui, tinha esquecido de colocar
x++
}
}
System.out.println(x + " " + y);
}
}

D

++x e ++y = Eles incrementam o valor de x e y antes de ver se são menores que 2.

|| = o OU declarado dessa forma é, digamos que um "ou inteligente". Se ele achar uma expressão verdadeira ele sabe que o resultado é verdadeiro então ele ignora o resto. Ou seja, seu y será incrementado até 2, porque depois disso, x é maior que 2 em todas as condições.

Obs.: Seu código não compila. Provavelmente era pra ser isso:

public class Test {
	
	public static void main(String[] args) {
		int x = 0;
		int y = 0;
		for(int z = 0; z<5; z++){
			if(++x > 2 || ++y > 2){  
				x++;
			}
		}
		System.out.println(x + "" + y);
	}
	
}
Andre_Fonseca

O que imprime?

A) 53
B) 82
C) 83
D) 85
E) 103

Class Test{

public static void main(String[] args){

int x = 0;

int y = 0;

for(int z = 0; z<5; z++){

if((++x>2)(++y>2)){

x++

}

}

System.out.println(x + " " + y);

}

}</blockquote>

oi

para chegar no resultado que você disse tem que usar um || entre os parenteses

class Test{ public static void main(String[] args){ int x = 0; int y = 0; for(int z = 0; z<5; z++){ if((++x>2)||(++y>2)){ x++; } } System.out.println(x + " " + y); }

o que acontece é isso

o algorítimo só vai testar a segunda condição se a primeira não for verdadeira

caso você queira testar sempre as duas condições mesmo que a primeira for verdadeira você teria que usar | ao invés de ||

abs

I

estranho pois eu consegui compilar direitinho e o resultado foi 82. Não entendo muito bem porque vc diz que não imprime…
No exercicio aqui a questão nem apresenta a opção de marcar “O cód não compila.”…

D

?ica Regina:
estranho pois eu consegui compilar direitinho e o resultado foi 82. Não entendo muito bem porque vc diz que não imprime…
No exercicio aqui a questão nem apresenta a opção de marcar “O cód não compila.”…

Class não tem o c maiusculo.
vai ; depois do x++ dentro do if

Criado 2 de outubro de 2008
Ultima resposta 2 de out. de 2008
Respostas 6
Participantes 3