Código:
package parte2;
import java.io.FileWriter;
import java.io.PrintWriter;
class AnagramLines extends Anagram {
private static class Node {
private String line;
private Node next;
private Node(String l) {
this.line = l;
}
}
private Node anagramListHead;
public AnagramLines(String l) {
super(l);
this.anagramListHead = new Node(l);
}
public void add(String l) {
String sorted=super.sort(l);
Node main=anagramListHead;
Node aux=null;
while(main!=null)
{
if(main.line.equals(sorted))
return;
main=main.next;
}
main=anagramListHead;
while(main!=null){
Node add=new Node(sorted);
if(sorted.compareTo(main.line)<0)
{
if(aux!=null)
{
aux.next=add;
add.next=main;
break;
}
else
{
add.next=anagramListHead;
anagramListHead=add;
break;
}
}else if(main.next==null)
{
main.next=add;
break;
}
aux=main;
main=main.next;
}
}
public void print(PrintWriter p) {
Node aux=anagramListHead.next;
p.println("line:");
while(aux!=null){
p.println(aux.line);
aux=aux.next;
}
}
public static void main(String[]args) throws Exception{
{
PrintWriter p = new PrintWriter(new FileWriter("out.txt"));
AnagramLines a= new AnagramLines(sort("magra"));
a.add("marco");
a.add("luis");
a.add("banana");
a.add("marco");
a.print(p);
p.close();
}
}
}
bem no metodo add nao sei porque nao escreve a cena da banana :/ ela fica na lista mas depois desaparece na perccebo porque :S (vi usando o debug)
ele deriva de Anagram a unica cena que interessa e mesmo o sort que ordena a string...