Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    ciclo infinito in java

    ciao! ho scritto una classe in java, una lista concatenata con inserimento in ordine, quando lancio toString purtroppo mi da un ciclo infinito per farvi capire esattamente dove, o scritto "CICLO INFINITOO"... non riesco proprio a capire come mai mi dia questo tipo di errore! il codice è ben leggibile in modo comodo qui http://pastebin.com/KMjn3THv

    oppure ve lo posto qui sotto se non avete voglia di spostarvi

    public class ListaOrdLC {//costruisce una Lista ordinata
    private Elemento primo = null;
    private int num; //numero di elementi di ogni singola Lista

    public boolean isEmpty() {
    if (primo==null) return true;
    else return false;
    }

    public void insordine(String nome){//inserisce in ordine un nome

    Elemento tmp = primo;
    Elemento prec= null;

    if(isEmpty()){//se è vuota si aggiunge in testa
    Elemento target = new Elemento();
    target.info = nome;
    target.next = null;
    primo = target;
    }
    else {//se non è vuota si trova la posizione corretta e si inserisce
    while (tmp= null && att.info.compareTo(nome)<=0) {
    prec = tmp;
    tmp = tmp.next;
    }

    Elemento target = new Elemento();

    target.info = nome;
    if(tmp==primo){ // il primo
    nuovo.next=primo;
    primo=nuovo;
    }
    else { //centrale o ultimo
    nuovo.next=prec.next;
    prec.next=nuovo;
    }//fine if



    private class Elemento {//nodo della lista concatenata
    String info;
    Elemento next;}


    public String toString(){
    String mex = "\n\nla lista contiene " + num+ " elementi\n" + "stampa degli elementi:\n";

    Elemento tmp=primo;
    if(primo == null) {//se la lista è vuota
    mex= mex + "lista vuota";
    }
    else{//altrimenti, se la lista ha elementi stamparli

    while (tmp!=null) {
    System.out.println("CICLO INFINITOOOOOOOOOOOOO");
    mex = mex + tmp.info + "\n";
    tmp = tmp.next;
    }
    }//else



    return mex +"\n\n";
    }
    }//fine ListaOrdLC

  2. #2
    Javascript != Java
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  3. #3
    porca vacca... dove posso chiedere??

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    spostata

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    puoi mettere il codice tra i tag code? è davvero illegibile
    RTFM Read That F*** Manual!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    ordinando io la classe noto i primi errori concettuali:

    codice:
    private class Elemento {//nodo della lista concatenata
    		String info;
    		Elemento next;
    	}
    questo sarebbe il nodo, ma questo deve essere accessibile dall'esterno ed è scollegato completamente al contenitore.
    Immagina la lista come una scatola in cui puoi mettere quello che ti pare, mica alla scatola colleghi i pallini, i pallini sono indipendenti dalla scatola.
    Inoltre i non hai visibilità dall'esterno della classe di quello che succede, non hai modificatori di visibilità, non hai costruttori, non hai getter/setter...niente. In java SBAGLIATO!!!
    Al max la classe può essere non private, ma cmq è errato mettere la definizione di info dentro il contenitore

    Sicuramente ci sono altri errori (mancano parentesi).

    Poi nuovo chi è? da dove arriva?

    boh io non so cosa speri possiamo fare noi con quel codice
    RTFM Read That F*** Manual!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.