Verificar se a resposta está correta

6 respostas
jaum

Olá, estou fazendo um exercício simples, e tenho q responder umas questões, queria que vcs verificassem se as minhas respostas estão certas, eu tenho quaaase certeza q o q eu pensei está certo, mas tenho medo de ter usado termos errados para me expressar.

Obrigado..!

3. O que há de estranho no programa abaixo?

class estranho
{
	public static final int LIMITE = 10;
	public static void main(String [] args)
	{
		 int i = 0;
		 int j = 0;
		 if (i < LIMITE)
		 {
		   while (i < LIMITE)
		   {
		     i++;
		   }//while
		 }//if
	}//main
}//estranho

A variável "j", nunca foi lida e o objeto "public static final int LIMITE = 10;" não possue nome nem marcadores de começo e fim.

4. Você consegue explicar porque o valor de J foi alterado, e de j nã̃o, apó́s antes da segunda impressã̃o? Se sim explique.

class Inteiro {
  private int valor;
  Inteiro() {
    valor = 0;
  }
  Inteiro (int v) {
    valor = v;
  }
  public void incrementa() {
    valor ++;
  }
  public int getValor() {
    return valor;
  }
} // class Inteiro

class Referencias {
	  public static void main (String args[]) {
	    Inteiro I = new Inteiro(20);
	    Inteiro J = I;
	    int i = 10;
	    int j = i;
	    System.out.println("Inteiro  i: " + i);
	    System.out.println("Inteiro  j: " + j);
	    System.out.println("Inteiro  I: " + I.getValor());
	    System.out.println("Inteiro  J: " + J.getValor());
	    i++;
	    I.incrementa();
	    System.out.println("Inteiro  i: " + i);
	    System.out.println("Inteiro  j: " + j);
	    System.out.println("Inteiro  I: " + I.getValor());
	    System.out.println("Inteiro  J: " + J.getValor());
	  } // nain()
	} // class Referencias

A variável "j" é do tipo primitivo e não é alterada porque após receber o valor de "i" ela não recebe nenhum outro valor, mas "J" é um TAD que recebe o valor de outro TAD ( Inteiro J = I; ), assim quando "I" for alterada, "J" também será.

6 Respostas

alf_f2

Ola brother 8)

Uma dica:

LIMITE nao é um objeto, é um atributo de tipo primitivo.
Nao precisa de comeco e fim (carcteres { })

Epero que tenha ajudado!
Flw

marciobarroso

Cara … Esse seu exercício de faculdade é mto baba hein …

O J é alterado pq é um objeto com a mesma referência de memória do objeto I, sendo que cada alteração que fizer em I, refletirá em uma alteração em J pois estas variáveis fazem referência ao mesmo objeto em memória.

Já o j é um tipo primitivo, e por isso não guarda referência do atributo i e sim o valor, o deixando independente de i.

[]'s

ViniGodoy

No exercício 3, tem também aquele if que vem antes do while.

Ele não serve para nada, já que o while já verifica aquela condição por si só.

ViniGodoy

Todo mundo tem que começar de algum lugar…

E eu achei a proposta bastante interessante. Afinal, exercita desde o início a capacidade de estudar um código de terceiros e identificar nele pontos com problema.

marciobarroso

Todo mundo tem que começar de algum lugar…

E eu achei a proposta bastante interessante. Afinal, exercita desde o início a capacidade de estudar um código de terceiros e identificar nele pontos com problema.

Fiz esse comentário pq ele, como outros que passaram por aqui, simplesmente postou o exercicio e pediu solução.

[]'s

jaum

Opa opa… Eu respondi o exercício e queria saber se a minha resposta estava certa, lê lá direitnho q vc vai ver…

Mas vlw ae pra td mundo q me ajudou…
(:

Abraços…

Criado 15 de agosto de 2007
Ultima resposta 17 de ago. de 2007
Respostas 6
Participantes 4