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

    [esercizio sottostringhe] int sempre maggiore di un altro in

    Ciao ragazzi, devo fare questo esercizio:

    Scrivere un programma SottoStringa che
    - legge una stringa s,
    - genera due numeri casuali i e j compresi tra 0 e l'ultima posizione della stringa s (estremi inclusi),
    - stampa i valori di i, di j e della lunghezza della stringa
    - infine stampa la sottostringa di s che inizia in posizione i e termina in posizione j (incluse) usando il metodo substring visto a lezione.
    Attenzione: cosa succede se j < i? Si modifichi il programma in modo da evitare questa situazione.

    Mi torna tutto, ma come posso fare la parte in grassetto?

    questo è il mio codice:

    codice:
    public class SottoStringa{
    
    public static void main (String[] args){
    
    String s = Input.readString("Inserisci una stringa: ");
    int lung = s.length();
    int n = lung-1; //ultima posizione della stringa
    
    int i=(int)(Math.random()*(n-0+1))+0;
    int j=(int)(Math.random()*(n-0+1))+0;
    
    	   System.out.println("i= " + i);
    	    System.out.println("j = "+ j);
    		 System.out.println("lunghezza stringa = "+ lung);
    		  System.out.println("Ho estratto : -> "+ (s.substring(i,j)) +" <-");
    }
    
    }

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Beh... a mio parere, se j è minore di i hai due possibilità:

    1) Ri-effettui l'estrazione casuale dei due numeri finchè la condizione i < j non è verificata
    2) Molto più semplicemente, inverti i e j


    Io opterei per la seconda soluzione che è di una banalità estrema.

    PS: quando posti del codice, usa i tag CODE. Li ho messi io nel tuo codice.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.