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

    validità codice seguente

    Ciao ragazzi prima di postare il mio problema permettemi di ringraziare tutti per l'ottimo lavoro che svolgete in questo forum, grazie di tutto di cuore.
    Ora veniamo al problema..io ho scritto questo cortissimo codice java che ritorna a video una clessidra di asterischi:

    codice:
    public class Asterischi {
       public static void main(String args[]) {
          int altezza = 8;
          int ast = 1;
          int spaz = altezza - 1;
          while (ast <= altezza) 
          {
    	while(spaz>0) 
    	{
    		for(int u=0;u<altezza-spaz;u++)
    			System.out.print(" ");
    	    	for(int i=0;i<altezza-ast;i++)
    			System.out.print("*");
    		ast=ast+2;
    		spaz--;	
    		System.out.println("");
    	}
          }
       }
    }
    Questo mi crea un triangolo capovolto ma mi crea anche 4 righe vuote...non va bene e non so come sistemarlo per toglierle!grazie mille a tutti...un'ultima cosa vorrei attaccare sotto il triangolo girato un altro triangolo metto dritto così la figura diventa una clessidra...come posso fare?grazie mille a tutti ciaociao

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    benvenuto!

    mi pare di capire che sei nuovo della programmazione java...

    Il mio suggerimento, prima di postarti codice già pronto con quella che potrebbe essere la mia "soluzione", è quello di farti il "tracciato" del programma - ovvero uno schemino (tabella) con i valori che, passo-passo, le variabili e i controlli eseguiti assumono.

    Una cosa del genere:
    codice:
    Passo    altezza   ast   spaz   ast<=altezza?   spaz>0?  ....
    0         8        1      7       1 <= 7? Sì -->Ciclo while
    1         8        1      7                        7 > 0 ? Sì --> Ciclo while
    ............
    ...........
    e vedere dove avviene l'inghippo. E' noioso, ma altamente didattico.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Grazie mille Andrea comunque ho risolto...ma ho 1altra domanda da porvi!
    Se io voglio inserire da tastiera 6 numeri senza usare BufferedReader ecc ma solo nell'argomento del main come faccio??

    Esempio:
    Sul prompt scrivo: [..] java Prova 1 2 3 4 5 6

    Così facendo il programma mi legge i 6 numeri(anche su un'unica stringa) e poi io c lavoro sopra...grazie mille per la disponibilità!

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    PS: Come indicato nel regolamento interno (seconda discussione in rilievo) il codice va postato indentato tra i tag CODE (vedi punto 6).

    Inoltre, il titolo dovrebbe dare una descrizione del probelma...

    Modifico io.


    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

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Originariamente inviato da limeste
    Grazie mille Andrea comunque ho risolto...ma ho 1altra domanda da porvi!
    Se io voglio inserire da tastiera 6 numeri senza usare BufferedReader ecc ma solo nell'argomento del main come faccio??

    Esempio:
    Sul prompt scrivo: [..] java Prova 1 2 3 4 5 6

    Così facendo il programma mi legge i 6 numeri(anche su un'unica stringa) e poi io c lavoro sopra...grazie mille per la disponibilità!
    Quanto passi come argomento lo trovi come vettore, nel famoso String[] args argomento di main.

    codice:
    public static void main (String[] args) {
    ...
    Da lì vedrai tu che fare, per esempio, se ti aspetti interi, potresti andare a verificare scorrendo args, che cosa contengano i vari elementi del vettore:

    codice:
    public class TestArgs {
    
        public static void main (String[] args) {
            boolean b;
            int j;
            for (int i = 0; i < args.length; i++) {            
                try {
                    j = Integer.parseInt(args[i]);
                    b = true;
                }
                catch (Exception e) {
                    b = false;
                }
                System.out.println("args["+i+"] = "+args[i]+" intero? : "+b);
            }
        }
    
    }
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.