Algumas duvidas

quais as duvidas alternativas abaixo pois estou em duvida

Which of the following statements about StringBuilder true ?

Select any 2 options :

a) It has inherent thread protection
b) It is faster than StringBuffer
c) It defines the append and insert methods
d) It is immutable


tenho seguinte arquivo a.txt

contendo

exemplo.
mais.
um.

e fiz um java abaixo mas não mostra o conteudo o que

está errado

public static void main(String[] args) {
		// TODO Auto-generated method stub
		try{
			
		   //InputStream input = InputStream(new File(TestaScanner.class.getResourceAsStream("a.txt")));
		   
		   Scanner scanner= new Scanner(new File("D:\\workspace_patt\\cert\\bin\\br\\com\\cert\\WhizLabs2\\a.txt"));
		   scanner.useDelimiter(".");
		   
		   while(scanner.hasNext())
			  System.out.println( scanner.next());
		   scanner.close();
			   
		}catch (FileNotFoundException e){
			e.printStackTrace();
		}
		

	}

}
------------------------------------

outra duvida referente ao switch
quando uso numero e sem break passa uma vez só
e quando uso caracter mostra o que achou eo default

--exemplo 1
public static void main(String[] args) {
		// TODO Auto-generated method stub

		Ex14 t = new Ex14();
		for(int i=0;i<4;i++){
			System.out.println(t.f(i));
		}
		
	}

	String f(int i){
		
		switch(i){
		  case 0: return "A";
		  case 1: return "B";
		  case 2: return "C";
		  default :return "D";
		 
		}
	}
}
------------
exemplo 2


	enum Grade{A{public String toString(){return "Book";}},B,C,D}
public class Ex15 {
   

	public static void main(String[] args) {
		// TODO Auto-generated method stub
       Grade grade = Grade.A;
       switch (grade){
          case A :
    	       System.out.println(grade);
          case B :
   	       System.out.println("B");     
    	  default :
    		  System.out.println("default");
       }
	}

}

essa não entendi ???

which og following statements about the implementation of the hashCode() method of Object class as shown in the following
code is true???

public class Ex21 {

	
	private int number;
	public Ex21 (int i){
		number=i;
	}
	
	public int hashCode(){
		int i=(int)(Math.random()*100);
		return i*number;
	}
	//others methods

}
---

a) the code implements hashcode() method correcty
b) the code does not implement hashcode() method correcty
c) this implementation of hashcode() method is correct only if the equals () methods is not overriden
d) the given code does not contain enough information to coment on the correctness of the hashcode()
e) none the these

gostaria de saber se o que respondi está correto :

which of the following statements regarding the java.util.Set interface are true?

seelct any 3 options :

a) java.util.Set extends the java.util.Collection interface
b) java.util.Set maintains a set of key-value pairs
c) java.util.Set does not allow duplicate elements.
d) java.util.Set maintains its elements in a sorted order.
e) All methods definded in java.util.Set are also define in java.util.Collection
f) java.util.Set does not allow a null element


Rapaz que língua é essa ???

Sobre o hashCode, o métod não foi implementado corretamente, da interface Set estão corretas as alternativas ACD.

StringBuilder estão corretas AB

e switch se ele não char o break uando encontrar um valor ele executa todos os que estiverem abaixo.

olá,

Com relação a primeira dúvida …

com relação a 1º opção eu naum entendi muito bem…eu sei q StringBuilder naum é thread safe, mas tb me confundiu essa opção … “herdar proteção de thread” … eu axei q era falsa, mas no post de cima fala q ela é verdadeira entaum como ainda sou iniciante naum vou comentar
StringBuilder é mais rápido que o StringBuffer entaum a 2º é verdadeira
StringBuilder tem em seus métodos append() e insert(), por isso é verdadeira
E por fim ele é mútavel, ao contrário da classe String que a cada alteração cria um novo objeto String, entaum é falsa
As respostas q eu tenho absoluta certeza é B

Com relação a questão sobre Scanner é para dar certo, eu fiz o seu código aki e funcionou perfeitamente exibindo o que estava escrito no arquivo.

Sobre a questão do SWITCH passa somente uma vez pelo fato dele usar o “return” … quando vc usa “return” ele sai direto da função. … não importando se tem mais código para baixo…ele sai do método de qq jeito.
E com o exemplo 2 SWITCH por mim ta correto … ele vai imprimir:
Book
B
default

Não tem o comando break; para a parar a execução dentro do SWITCH

As outras questões ainda naum tenho muita certeza pois estou estudando elas ainda, mas espero ter ajudado

qq coisa é só postar

Um abraço

Ricardo


Analize bem:

public class Ex21 {

private int number;   
public Ex21 (int i){   
    number=i;   
}   
   
public int hashCode(){   
    int i=(int)[b](Math.random()*100)[/b];   
    return [b]i[/b]*number;   
}   
//others methods   

}

  Este método implementa HashCode INCORRETAMENTE, por que estamos usando UM NÚMERO ALEATÓRIO, ou seja, os DADOS QUE DEVERIAM SER AGRUPADOS DE ACORDO COM ALGUMA CARACTERÍSTICA SIMILAR ENTRE SÍ, estarão sendo classificados de forma aleatória, ou seja, de uma forma totalmente ineficáz.
  Para resolver este problema precisaríamos remover a utilização do código aleatório, e utilizarmos um código fixo para que, suponhamos, pessoas que tenham o nome com 5 letras, fiquem agrupadas no mesmo lugar, enquanto as que possuam 6, em outro... etc... 

No caso de StringBuilder (INSERIDA NO JAVA 5), é CORRETO afirmar:

b) It is faster than StringBuffer  (mais rápida que StringBuffer - NÃO É THREAD SAFE)
c) It defines the append and insert methods 

-- INCORRETAS --
A está incorreta por que StringBuilder não possui proteção entre threads (sincronização/thread safe).
D StringBulder difere-se da classe String, pois não possui pool, e É MUTÁVEL, ao contrário do que diz a opção.

Sua implementação de Scanner aparentemente está correta, e deve exibir todo o texto que esteja depois do delimitador “.” até o final do arquivo ser alcançado.


Sua questão sobre switch:

No Exemplo 1:

        A palavra reservada "return" irá retornar o objeto "String" e vai interromper o fluxo do switch alí mesmo.

No Exemplo 2:

           A declaração do Enum provavelmente NÃO IRÁ COMPILAR, por que, diz a lenda que quando é colocado um corpo no Enum (A {public...}), deve-se OBRIGATÓRIAMENTE ao final do Enum, USAR O PONTO E VÍRGULA (;)

           Algo correto seria: 

                enum Grade{A{public String toString(){return "Book";}},B,C,D}[b];[/b] // Observe o Ponto e Vírgula no final

Se isso for consertado, o restante do código aparenta estar correto, seguindo a regra da “Passagem Completa” de switch, onde serão executadas todas as condições do switch, a partir da primeira condição satisfeita até que uma palavra reservada “break” seja encontrada. Caso isso não ocorra, todas as condições do switch serão executadas, até o seu fim.


No meu ponto de vista, essa questão está meio confusa, pois java.util.Set É UMA INTERFACE e NÃO UMA IMPLEMENTAÇÃO. Logo, algumas opções se referem a ela como se fosse uma classe de impelentação. Como a questão nos pede 3 respostas, vamos tentar:

which of the following statements regarding the java.util.Set interface are true?

seelct any 3 options :

CORRETAS:

[b]a)[/b] java.util.Set extends the java.util.Collection interface (Sim, java.util.Set ESTENDE java.util.Collection - Ambas são interfaces)
[b]b)[/b] java.util.Set maintains a set of key-value pairs (Sim, os Set´s determinam que existam pares de Chave/Valor - O VALOR NÃO PODE SE REPETIR)
[b]c)[/b] java.util.Set does not allow duplicate elements. (Sim, os Set´s NÃO PERMITEM QUE OS VALORES SE REPITAM)

INCORRETAS:

d) java.util.Set maintains its elements in a sorted order. -> java.util.Set é UMA INTERFACE E NÃO UMA CLASSE DE IMPLEMENTAÇÃO, portanto, ELA NÃO MANTÉM NADA. Essa tarefa de manter seus dados ordenados(interface Comparable) ou classificados(interface Comparator) é de responsabilidade das classes de implementação (java.util.HashSet, java.util.LinkedHashSet e java.util.TreeSet).

e) All methods definded in java.util.Set are also define in java.util.Collection -> Se fosse o inverso estaria correto. Podemos AFIRMAR COM CERTEZA que todos os métodos públicos definidos em java.util.Collection estarão implementados em java.util.Set, porém, NÃO PODEMOS AFIRMAR O MESMO AO CONTRÁRIO, pois, java.util.Set tem métodos mais específicos do que java.util.Collection. Para usar isso, precisamos usar a operação de redução, que não se aplica a essa questão.

f) java.util.Set does not allow a null element -> Novamente, java.util.Set É UMA INTERFACE E NÃO UMA CLASSE DE IMPLEMENTAÇÃO. Funções específicas como ordenação/classificação e permissão de valores null ou não SÃO DE RESPONSABILIDADE DAS CLASSES DE IMPLEMENTAÇÃO (java.util.HashSet, java.util.LinkedHashSet e java.util.TreeSet).


Espero ter ajudado !!

Grande abraço !
Rodrigo Lopes.

obrigado pelo retorno…

abs