Come correggere il consumo di Java di Java

Come correggere il consumo di Java di Java
In Java, l'Exception Nosuchelement viene sollevata quando viene superato il limite massimo di un iteble. Questa eccezione è sollevata da una varietà di metodi di enumerazione, iteratore o tokenizer per segnalare che l'elemento richiesto non è presente. L'Exception Nosuchelement è definita un'aspettativa incontrollata perché deriva da una runtimexception. Per correggere questa eccezione, verificare che l'oggetto sottostante contenga più elementi prima di implementare i metodi degli accessori che eventualmente generano NosuchelementException. Esistono alcuni metodi per determinare se un oggetto ha più elementi di quelli che ha nelle interfacce specificate che includono questi metodi di accessori.

Esempio 1:

Lì, abbiamo metodi di accessori diversi che lanciano questa eccezione se l'elemento richiesto non esiste. Se non ci sono più elementi nell'iterazione, il metodo successivo () in Java dà NosuchelementException. Altrimenti, restituisce l'elemento successivo che viene inserito nell'iterazione. Abbiamo il seguente esempio in cui definiamo per la prima volta la classe Java e implementiamo il programma all'interno del metodo principale () della classe. Abbiamo la dichiarazione della variabile "Straray" in cui viene inizializzato l'ArrayList. Aggiungiamo solo un elemento all'elenco di array che è una stringa.

Successivamente, creiamo la variabile "itrarr" per la classe Iterator per iterare sugli elementi di ArrayList. La variabile "ITrarr" viene quindi chiamata "Strarry" insieme al metodo iteratore (). Successivamente, stampiamo il prossimo elemento dell'ArrayList "Straray" che stampa il valore indicato dell'ArrayList. Il metodo successivo () viene impiegato per ottenere l'elemento successivo da un ArrayList. Inoltre, stampiamo l'elemento successivo dalla precedente Arraylist che non esiste in quanto abbiamo fornito un solo elemento alla "Straray" ArrayList.

Importa Java.util.*;
Classe pubblica SampleProgram1
public static void main (string [] args)
ArrayListsRarray = new ArrayList ();
Straray.Aggiungi (nuova stringa ("Esempio Java"));
ITerator itrarr = Straray.iteratore ();
Sistema.fuori.println (itrarr.Prossimo());
Sistema.fuori.println (itrarr.Prossimo());

L'esecuzione del programma ha aumentato la NosuchelementException. Si trova come sappiamo che non esiste un tale elemento successivo per l'iterazione dopo che l'elemento dato è stato recuperato.

Esempio 2:

L'esempio precedente è fornito con il codice sorgente che ha sollevato NosuchelementException per l'iterazione dell'elemento successivo attraverso il metodo successivo (). Ora, il metodo degli accessori successivi () della classe iteratore viene utilizzato in questo esempio per tentare di accedere a un hashmap. Ma poiché l'hashmap è vuoto, riceviamo una Exception Nosuchelement. Innanzitutto, abbiamo il metodo principale () definito della classe Java in cui impostiamo l'interfaccia hashset. Dichiariamo l'oggetto "myset" della classe set e assegniamo l'hashset () che è vuoto. Dopodiché, abbiamo l'oggetto hashtable che è "mytable" in cui è definito l'hashtable vuoto (). Quindi, impieghiamo l'iteratore con il metodo successivo (). L'iteratore iterate sul set e quindi fornisce il valore set successivo. Ottiamo anche gli elementi dal metodo HashTable () tramite il metodo Elements () e l'elemento successivo per la tabella tramite il metodo NextElement (). Riceviamo un NosuchelementExeception poiché sia ​​l'hashset che l'hashtable sono vuoti.

Importa Java.util.Hashset;
Importa Java.util.Hashtable;
Importa Java.util.Impostato;
Classe pubblica SampleProgram2
public static void main (string [] args)
Imposta myset = new hashset ();
HashtablemyTable = new HashTable ();
Myset.iteratore ().Prossimo();
Mytable.elementi().NextElement ();

Lì, otteniamo l'output che lancia l'esecuzione Nosuchelement perché stiamo cercando di ottenere gli elementi vuoti che non sono possibili.

Esempio 3:

Ora abbiamo una soluzione per evitare l'eccezione "NosuchelementException". Dobbiamo invocare l'iteratore che è il metodo HasNext (). Il metodo HasNext () verifica ogni volta che l'iterazione durante il processo che un elemento è presente nel set in seguito o no. Cominciamo con il programma di metodo HasNext (). Dichiariamo prima la variabile "A" di classe ArrayList in cui l'ArrayList è definito con valori vuoti. Inseriamo la stringa dopo la creazione dell'ArrayList dal metodo Add (). Quindi, invochiamo l'oggetto iteratore "i" che si chiama metodo iteratore () di ArrayList "A". L'elemento che attraversa con l'iteratore () viene realizzato usando il loop while. Il ciclo while ha una condizione che utilizza il metodo HasNext () per verificare l'esistenza dell'elemento successivo dall'ArayList specificato. Quando HasNext () fornisce la vera indicazione, viene eseguito il metodo successivo () che viene distribuito nell'istruzione di stampa.

Importa Java.util.*;
Classe pubblica SampleProgram3
public static void main (string [] args)
ArrayList a = new ArrayList ();
UN.Aggiungi (new String ("Welcome Learners"));
Iteratore i = a.iteratore ();
mentre io.hasNext ())
Sistema.fuori.println (i.Prossimo());


NosucheElementException non viene sollevata dal programma precedente perché HasNext () controlla gli elementi dopo e quindi il metodo successivo () fornisce l'elemento di ArrayList.

Esempio 4:

Esiste un'altra soluzione per l'eccezione che la tecnica di istanza di classe StringTokenizer HasMoretokens () esamina la stringa del tokenizer per determinare se ci sono ulteriori token. Impostiamo l'oggetto "s" del tipo di stringa e assegniamo la stringa lì. Successivamente, abbiamo un oggetto "StrToken" in cui chiamiamo la classe StringTokenizer e impostiamo l'oggetto stringa "S" e il valore dello spazio bianco. Quindi, abbiamo un po 'di iterazione del loop in cui distribuiamo HasMoreToken per gestire la "NosuchelementException". Quindi, chiamiamo il metodo NextToken () per stampare la stringa.

Importa Java.util.StringTokenizer;
Classe pubblica SampleProgram4
public static void main (string args [])
String S = "Programma Java";
StringTokenizersTrToken = new StringTokenizer (s, "");
mentre (strtken.HasMoreToKENS ())
Sistema.fuori.println (strtoken.NextToken ());


Non vi è alcuna eccezione sollevata dal momento che viene eseguito il metodo HasnextToken () per gestire l'eccezione. Il NextToken rappresenta i valori della stringa fino alla fine.

Esempio 5:

Il metodo precedente () del listerator restituisce l'elemento precedente della raccolta. Un'exception Nosuchelement viene lanciato in fase di esecuzione se il metodo viene utilizzato su un elemento vuoto o nella posizione di partenza dell'articolo. Creiamo la lista array vuota di una stringa nella variabile "StringList". Successivamente, aggiungiamo alcune stringhe all'elenco. Il listerator () è chiamato per la procedura di iterazione sull'ArrayList. Successivamente, impieghiamo il ciclo while due volte nel programma. Innanzitutto, il ciclo while determina l'elemento dopo attraverso il modulo metodo HasNext () che può ottenere l'elemento successivo chiamando il metodo HasNext () dopo. Il secondo While Loop utilizza il metodo Haspreus () sui valori dell'iteratore per ottenere il valore precedente da ArrayList. Entrambi questi metodi gestiscono l'eccezione verificando i valori successivi e precedenti.

Importa Java.util.Lista di array;
Importa Java.util.Listerator;
Classe pubblica SampleProgram5
public static void main (string args [])
ArrayListstringList = new ArrayList ();
Stringlist.Aggiungi ("Java");
Stringlist.Aggiungi ("Ruby");
Stringlist.Aggiungi ("Scala");
ListIteratorETR = StringList.ListIterator ();
mentre (ITR.hasNext ())
itr.Prossimo();

mentre (ITR.hasprevious ())
Sistema.fuori.println (itr.precedente());


Il primo ottiene i valori successivi di ArrayList dall'esame tramite il metodo Hasnext (). Quindi, otteniamo il valore precedente dell'ArrayList nell'output dal metodo Haspreus (). Anche la NosuchelementException è gestita lì.

Esempio 6:

La prossima soluzione semplice è il metodo di enumerazione hasmoreelements () che dovrebbe essere utilizzato per determinare se questa enumerazione contiene elementi aggiuntivi. L'enumerazione restituisce vero se ha più elementi. Altrimenti, restituisce falso. Generiamo la raccolta di vettori vuoti nell'oggetto vettoriale "vetto" che viene aggiunto con il valore numerico. Successivamente, specifichiamo l'oggetto di enumerazione "E" per ottenere gli elementi dal suo metodo Element (). Quindi, distribuiamo il metodo hasmoreElements () nella condizione di () per verificare se sono forniti più elementi dai vettori di enumerazione.

Importa Java.util.Enumerazione;
Importa Java.util.Vettore;
Classe pubblica SampleProgram6
public static void main (string args [])
Vectorvect = new vector ();
vetto.Aggiungi (8934);
vetto.Aggiungi (6127);
Enumeration e = vect.elementi();
mentre (e.hasmoreelements ())
Sistema.fuori.println (e.NextElement ());


La raccolta vettoriale di tutti gli elementi viene visualizzata nella schermata seguente. HasmoreElement () gestisce l'eccezione identificando gli altri elementi.

Conclusione

L'Exception Nosuchelement viene risolta determinando se la posizione successiva di una iteble è riempita o vuota. Abbiamo mostrato come viene sollevato questo errore durante l'utilizzo del metodo iteble sulla raccolta vuota e l'elemento successivo dalla raccolta. Dobbiamo posizionare l'assegno prima di ripeterlo sugli elementi per sbarazzarsi di quell'eccezione. Abbiamo fornito più metodi per risolvere questa eccezione durante l'esecuzione del programma.