Ho un esercizio, aldilą della corretteza logica ci deve essere un errore diverso:
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?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(); } } }

Rispondi quotando