V I S U A L I Z Z A D I S C U S S I O N E |
france87 |
Inserito il - 23/06/2008 : 18:15:58 Scrivere il programma MinStringa che legge un numero prefissato di stringhe e stampa la stringa più corta tra quelle immesse. Prima di procedere con la lettura della sequenza di stringhe, il programma deve chiedere all'utente la lunghezza della sequenza, che deve essere un intero positivo. Se il dato in input non soddisfa questa condizione, il programma deve richiederlo. Se ci sono più stringhe di lunghezza minima, si selezioni quella che segue tutte le altre in ordine lessicografico.
MIA RISOLUZIONE: Prima faccio un do-while per verificare che il numero inserito dall'utente è maggiore di 0. Poi, PROBLEMA, posso fare in un altro solo ciclo il resto ? Non riesco a capire come fare a effettuare tutti i confronti, soprattutto sulla prima che inserisco, in un solo ciclo.
La prima parte del programma è la seguente:
public class MinStringa {
/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int numS; do{ System.out.print("Numero di stringhe: "); numS = Input.readInt(); } while (numS <= 0);
//ADESSO ?? |
4 U L T I M E R I S P O S T E (in alto le più recenti) |
Blusunlight |
Inserito il - 27/08/2008 : 21:35:34 Ciao, voleva dire proprio "+cnt+".Come hai scritto tu stamperebbe la parola cnt.
|
Vinci |
Inserito il - 27/08/2008 : 21:25:31 ragazzi sto chiedendo in giro un grande piacere antro il 9 settembre so che fanizzi nel 2006 diede la stessa traccia di programmazione che oggi di mauro di programmazione a dato a noi quella di gestire un'agenda di appuntamenti se qualcuno avesse il file fatto o sa dami una mano mi contattasse aiutatemi sn in piena crisi ciao grazie a ttt |
nicolamonaca |
Inserito il - 24/08/2008 : 17:25:04 ...e "+cnt+" cosa vorrebbe dire? Forse vuoi dire ... + "cnt" + ... |
france87 |
Inserito il - 23/06/2008 : 18:26:31 La seconda parte può essere così, ma c'è un modo più elegante ? Soprattutto per evitare quella stampa fuori ciclo..
int cnt=1; String s; String min; System.out.print("Dammi la stringa n. "+cnt+" della sequenza:"); min = Input.readLine(); cnt = cnt+1; do { System.out.print("Dammi la stringa n. "+cnt+" della sequenza:"); s = Input.readLine(); if (min.length()>s.length()) min = s; else if (min.length()==s.length()) { if (min.compareTo(s)>0) min = s; } cnt = cnt+1; } while (cnt<=numS); System.out.print("La stringa più corta e': "+min); }
} |