Questões "drag n drop" podem ter mais de uma alternativa?

Questões “drag n drop” podem ter mais de uma alternativa na prova de SCJP 6???

geralmente nessas questões tem fragmentos de código a mais do que vc precisa usar

E ao menos pelo que vi, não é possível ter mais de uma alternativa.

Mas eu acho que pode ter mais de uma solução. Veja essa questão drag n drop:

Place the code fragments into position to produce the output "true true false "

import java.util.*;

[code]public class HasNext
{
public static void main(String… tiago){

	Scanner scanner = new Scanner("One,5,true,3,true,6,7,false");
	scanner.useDelimiter(",");

	while( _____ ){
		if( ________ ){
			System.out.print( ________+" ");
		}else __________;
	}
}

}[/code]

Code Fragments

scanner.hasNextBoolean()
scanner.next()
scanner.nextBoolean()
scanner.hasNext()


Observe que, o seguinte código é solução para o problema:

import java.util.*;

[code]public class HasNext
{
public static void main(String… tiago){

	Scanner scanner = new Scanner("One,5,true,3,true,6,7,false");
	scanner.useDelimiter(",");

	while( scanner.hasNext() ){
		if( scanner.hasNextBoolean() ){
			System.out.print( scanner.next()+" ");
		}else scanner.next();
	}
}

}
[/code]

Porém, este também é:

[code]import java.util.*;

public class HasNext
{
public static void main(String… tiago){

	Scanner scanner = new Scanner("One,5,true,3,true,6,7,false");
	scanner.useDelimiter(",");

	while( scanner.hasNext() ){
		if( scanner.hasNextBoolean() ){
			System.out.print( scanner.nextBoolean()+" ");
		}else scanner.next();
	}
}

}
[/code]

Ou seja, neste caso, deu pra fazer 2 soluções!

acho que tb não é possível ter mais de uma alternativa…mas fique esperto porq geralmente tem mais fragmentos de código do que vc vai utilizar para preencher as lacunas.

[quote=TiagoTC]Mas eu acho que pode ter mais de uma solução. Veja essa questão drag n drop:

Place the code fragments into position to produce the output "true true false "

import java.util.*;

[code]public class HasNext
{
public static void main(String… tiago){

	Scanner scanner = new Scanner("One,5,true,3,true,6,7,false");
	scanner.useDelimiter(",");

	while( _____ ){
		if( ________ ){
			System.out.print( ________+" ");
		}else __________;
	}
}

}[/code]

Code Fragments

scanner.hasNextBoolean()
scanner.next()
scanner.nextBoolean()
scanner.hasNext()


Observe que, o seguinte código é solução para o problema:

import java.util.*;

[code]public class HasNext
{
public static void main(String… tiago){

	Scanner scanner = new Scanner("One,5,true,3,true,6,7,false");
	scanner.useDelimiter(",");

	while( scanner.hasNext() ){
		if( scanner.hasNextBoolean() ){
			System.out.print( scanner.next()+" ");
		}else scanner.next();
	}
}

}
[/code]

Porém, este também é:

[code]import java.util.*;

public class HasNext
{
public static void main(String… tiago){

	Scanner scanner = new Scanner("One,5,true,3,true,6,7,false");
	scanner.useDelimiter(",");

	while( scanner.hasNext() ){
		if( scanner.hasNextBoolean() ){
			System.out.print( scanner.nextBoolean()+" ");
		}else scanner.next();
	}
}

}
[/code]

Ou seja, neste caso, deu pra fazer 2 soluções!

[/quote]
acho dificil aparecer uma dessa na prova mas se aparecer provavelmente vira junto uma mensagem do tipo qual seria a solução mais correta que no caso seria o segundo código porq no primeiro vc está usando um scanner.next() mais genérico

Para o pessoal que já fez a prova, as questões drag and drop são aceitas parciais ou somente quando o código inteiro fica correto?

Nos simulados da whizlabs ele considera questões parciais, só queria ter certeza…

São aceitas apenas quando o código inteiro fica correto

Achei outro exemplo de uma questão drag-n-drop com mais de uma possível solução:

[code]Chain these constructors to create objects to read a file named “in” and to write to a file named “out”.

reader = _____________ _________________ “in” ) );
writer = _____________ _________________ _______________ “out” ) ) );

Constructors

new FileReader(
new PrintReader(
new BufferedReader(
new BufferedWriter(
new FileWriter(
new PrintWriter([/code]

Observe que as seguintes soluções são válidas:

reader = new BufferedReader( new FileReader( new File("in") ) ); writer = new BufferedWriter( new PrintWriter( new FileWriter("out") ) );
e reader = new BufferedReader( new FileReader( new File("in") ) ); writer = new PrintWriter( new BufferedWriter( new FileWriter("out") ) );

Achei uma que permite 3 respostas!!! :shock: Só espero que o exame aceite todas…

[code]import java.util.*;

public class GenericB<___>
{
public ___ foo;

public void setFoo(__ foo){
this.foo = foo;
}

public ___ getFoo(){
return foo;
}

public static void main(String[] args){
GenericB bar = new GenericB();
bar.setFoo( new Cat() );
Cat c = bar.getFoo();
}
}

interface Pet{}
class Cat implements Pet{}[/code]

Os fragmentos de código são:

[code]? extends Pet
T extends Pet
? implements Pet
T implements Pet
Pet extends T
?
T

<?>

Pet[/code]

Resposta 1:

[code]
public class GenericB//Mudança aqui
{
public T foo;

public void setFoo(T foo){
this.foo = foo;
}

public T getFoo(){
return foo;
}

public static void main(String[] args){
GenericB bar = new GenericB();
bar.setFoo( new Cat() );
Cat c = bar.getFoo();
}
}

interface Pet{}
class Cat implements Pet{}[/code]

Resposta 2:

[code]
public class GenericB//Mudança aqui
{
public T foo;

public void setFoo(T foo){
this.foo = foo;
}

public T getFoo(){
return foo;
}

public static void main(String[] args){
GenericB bar = new GenericB();
bar.setFoo( new Cat() );
Cat c = bar.getFoo();
}
}

interface Pet{}
class Cat implements Pet{}[/code]

Resposta 3:

[code]
public class GenericB //Mudança aqui
{
public T foo;

public void setFoo(T foo){
this.foo = foo;
}

public T getFoo(){
return foo;
}

public static void main(String[] args){
GenericB bar = new GenericB();
bar.setFoo( new Cat() );
Cat c = bar.getFoo();
}
}

interface Pet{}
class Cat implements Pet{}[/code]

[quote=palilo]Para o pessoal que já fez a prova, as questões drag and drop são aceitas parciais ou somente quando o código inteiro fica correto?

Nos simulados da whizlabs ele considera questões parciais, só queria ter certeza…[/quote]

tanto drag n drop quando questoes de multipla escolha são consideradas ou certa ou errada, não tem meio termo…

eu nao sei como ficou na 6, mas na versao 5 da prova, é até chato a quantidade de questao drag n drop que caiu =(