Ho un esercizio, aldilą della corretteza logica ci deve essere un errore diverso:
codice:
import java.io.*;
public interface Stack <E>
{
public int size();
//Return numero elementi
public boolean isEmpty();
//Return true se lo stack č vuoto
public void push(E object);
//Pone in cima allo stack un elemento
public E pop();
//Elimina l'elemento in cima allo stack e lo restituisce
public E top();
//Indica qual č l'elemento in cima allo stack senza estrarlo
}
public class Node <E>{
private E element;
private E next;
public Node(E element, E next)
{
this.element=element;
this.next=next;
}
public Node <E> getElement() {return element;}
public Node <E> getNext() {return next;}
public void setElement(E object){ element=object;}
public void setNext(Node <E> e){element.getNext()=e;}
}
public class NodeStack <E> implements Stack <E> {
private Node <E> top;
private int size;
public NodeStack()
{
top=null;
size=0;
}
public int size() {return size;}
public boolean isEmpty(){return (top==null);}
public void push(E element){
Node <E> n=new Node <E>(element,top);
top=n;
size++;
}
public E pop(){
if(E.isEmpty()) throw new EmptyStackException("Stack vuoto");
E object=top.getElement();
top=top.getNext();
size--;
return object;
}
public E top()
{
if(E.isEmpty()) throw new EmptyStackException("Stack vuoto");
return top.getElement();
}
public String toString()
{
}
}
public class EsercizioI{
public static void main(String []args)
{
FileReader reader=null;
BufferedReader buffer=null;
PrintWirter out=null;
try{
reader=new Filereader("input.txt");
buffer=new BufferedReader(reader);
out=new PrintWriter("OUTPUT.txt");
NodeStack <String> stack=new NodeStack();
String sequenze="";
while((sequenze=buffer.readLine())!=null)
stack.push(sequenze);
for(Node node=new Node(); node.getNext()!=null; node=node.getNext())
{
boolean parentesizzata=false;
String element=node.getElement();
for(int i=0; i<element.length(); i++)
{
if(
(element.charAt(i)=="(" && element.charAt(element.length()-1-i)==")") ||
(element.charAt(i)=="{" && element.charAt(element.length()-1-i)=="}")
||(element.charAt(i)=="[" && element.charAt(element.length()-1-i)=="]")
||(element.charAt(i)=="<" && element.charAt(element.length()-1-i)==">"))
parentesizzata=true;
else
{
for(int j=0; j<element.length()-1; j++)
{
if(
(element.charAt(j)=="(" && element.charAt(j+1)==")") ||
(element.charAt(j)=="{" && element.charAt(j+1)=="}")
||(element.charAt(j)=="[" && element.charAt(j+1)=="]")
||(element.charAt(j)=="<" && element.charAt(j+1)==">"))
parentesizzata=true;
}
i=element.length()-1;
}
}
if(parentesizzata==true)
out.print("OK");
else out.print("ERRORE");
}
}
finally{
if(reader!=null)reader.close();
if(out!=null)out.close();
}
}
}
Gli errori gią partono per l'interfaccia, che mi dice deve essere dichiarata a parte, e anche la classe Nodo, ma perchč mi dą quest'errore?