+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 4 su 4

Array di Stringhe

  1. #1
    Sto cercando di prendere in input un array di stringhe ma sono attanagliato dal seguente errore:

    Quante stringhe vuoi inserire(max 100): 5
    Scrivi: Scrivi: a
    Scrivi: b
    Scrivi: c
    Scrivi: d
    -----------------
    Indice uno: 1
    Indice due: 5
    -----------------
    Output: d
    Output: a
    Output: b
    Output: c
    Output:
    
    Mi viene stampato due volte di seguito il primo "Scrivi: ". Di seguito il codice del programma: Dato un vettore di stringhe, scambiare due locazioni dell'array, dati gli indici.

    import java.util.Scanner;
    
    public class Esercizio11 {
    
    	public static void main(String[] args) {
    
    		Scanner in = new Scanner(System.in);
    
    		
    		
    		System.out.print("Quante stringhe vuoi inserire(max 100): ");
    		int n = in.nextInt();
    		
    		String[] arrayString = new String[n];
    		
    		for (int i = 0; i < n; i++) {
    			System.out.print("Scrivi: ");
    			arrayString[i] = in.nextLine();
    		}
    		System.out.println("-----------------");
    
    		System.out.print("Indice uno: ");
    		int index1 = in.nextInt();
    
    		System.out.print("Indice due: ");
    		int index2 = in.nextInt();
    
    		scambia(arrayString, index1, index2);
    		stampa(arrayString, n);
    		
    	}
    
    	private static void scambia(String[] arrayString, int index1, int index2) {
    
    		String tempString;
    
    		tempString = arrayString[index1-1];
    		arrayString[index1-1] = arrayString[index2-1];
    		arrayString[index2-1] = tempString;
    
    		
    	}
    
    	private static void stampa(String[] arrayString, int n) {
    
    		System.out.println("-----------------");
    		for (int i=0; i<n; i++) {
    			System.out.println("Output: " + arrayString[i]);
    		}
    		
    	}
    
    }
    
    ℹ️ Leggi di più su Vittorio Esposito ...

  2. #2
    minomic non è in linea Scolaretto
    Ciao, sono un po' in ritardo ma ho visto ora il thread...

    Il problema è ben noto: fai una nextLine dopo una nextInt. Il problema è che la nextInt lascia l'ultimo carattere di endline, che viene poi "preso" dalla successiva nextLine, causando così quel comportamento. La soluzione è molto semplice: leggere sempre con la nextLine e poi convertire in numero.
    ℹ️ Leggi di più su minomic ...

  3. #3
    Quote Originariamente inviato da minomic Visualizza il messaggio
    Ciao, sono un po' in ritardo ma ho visto ora il thread...

    Il problema è ben noto: fai una nextLine dopo una nextInt. Il problema è che la nextInt lascia l'ultimo carattere di endline, che viene poi "preso" dalla successiva nextLine, causando così quel comportamento. La soluzione è molto semplice: leggere sempre con la nextLine e poi convertire in numero.
    Grazie molte per l'aiuto
    ℹ️ Leggi di più su Vittorio Esposito ...

  4. #4
    minomic non è in linea Scolaretto
    Prego! Se hai altri dubbi, scrivi pure.
    ℹ️ Leggi di più su minomic ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Risposte: 5
    Ultimo Post: 16-12-2017, 17:48
  2. Risposte: 2
    Ultimo Post: 18-11-2010, 08:22
  3. Come salvare nei my settings un array di stringhe?
    Da Marco2012 nel forum Visual Basic .Net
    Risposte: 4
    Ultimo Post: 07-12-2009, 18:35
  4. Risposte: 1
    Ultimo Post: 19-01-2008, 18:25
  5. Risposte: 7
    Ultimo Post: 29-01-2005, 18:05