Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    49

    Creare schemi di asterischi

    Ciao, visto che sicuramente qualcuno ha studiato sul libro di deitel come sto facendo io (anche in altri linguaggi..tanto gli esercizi sono sempre gli stessi), sono arrivato all'esercizio di formare 4 schemi di asterischi UNO SOTTO L'ALTRO in questo modo:

    codice:
    *          ********** **********          *
    **         *********   *********         **
    ***        ********     ********        ***
    ****       *******       *******       ****
    *****      ******         ******      *****
    ******     *****           *****     ******
    *******    ****             ****    *******
    ********   ***               ***   ********
    *********  **                 **  *********
    ********** *                   * **********
    ..io ho prodotto questo codice..però mi è venuto il dubbio che l'esercizio lo volesse con un solo ciclo(!!!)...voi che ne pensate ?

    Alex
    P.S.: ho trovato molti errori di traduzione...speriamo che migliori andando avanti !

    codice:
    //Esercizio 5.15
    public class SchemiSeparati {
    
    	public static void main(String[] args) {
    	int a;
    	int b;
    	for (a =1; a <= 10;++a){
    		
    		for (b = 1;b < a+1; b++)
    			System.out.print('*');
    	System.out.println();	
    	}
    	System.out.println();
    	int c;
    	int d;
    	for (c=1;c<=10;c++){
    		for (d = 10;d>c-1;d--)
    			System.out.print('*');
    		System.out.println();
    	}
    	int h;
    	int i;
    	int l;
    	for (h=1;h<=10;h++){
    		for (i = 1;i<h;i++)
    			System.out.print(' ');
    		for (l=10;l>i-1;l--)
    			System.out.print('*');
    		System.out.println();
    	}
    	int e;
    	int f;
    	int g;
    	for (e=1;e<=10;e++){
    		for (f = 10;f>e;f--)
    			System.out.print(' ');
    		for (g=1;g<e+1;g++)
    			System.out.print('*');
    		System.out.println();
    	}
    	}
    	
    	}

  2. #2

    Re: Creare schemi di asterischi

    Originariamente inviato da magobin
    ..io ho prodotto questo codice..però mi è venuto il dubbio che l'esercizio lo volesse con un solo ciclo(!!!)...voi che ne pensate ?
    Per ottenere quello schema con un solo ciclo devi ricorrere a qualche struttura "già pronta", ad esempio:
    codice:
        public static void main(String[] args) {
            StringBuffer in = new StringBuffer("**********");
            StringBuffer es = new StringBuffer("*");
            StringBuffer space_es = new StringBuffer("          ");
            StringBuffer space_in = new StringBuffer(" ");
            
            for(int i = 0; i < 10; i++) {
            	System.out.println( es.toString() 
            			        + space_es.toString() 
            				+ in.toString() 
            				+ space_in.toString()
            				+ in.toString()
            				+ space_es.toString() 
            				+ es.toString() );
            	es.append('*');
            	in.deleteCharAt( in.length() - 1 );
            	space_in.append("  ");
            	space_es.deleteCharAt( space_es.length() - 1 );
            }     
        }
    Puoi trovare altre soluzioni alternative che sono comunque "pulite".

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Prendi mille java-forumist e avrai mille modi di risolverlo.
    codice:
    for (int i = 0; i < 4; i++) {
                for (int j = 1; j <= 10; j++) {
                    if (i % 2 == 0) {
                        for (int k = 1; k <= j; k++) {
                            System.out.print("*");
                        }                    
                    }
                    else {
                        for (int k = (10-j+1); k >= 1; k--) {
                            System.out.print("*");
                        }                    
                    }
                    System.out.println();
                }
            }
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    49
    Originariamente inviato da Andrea1979
    Prendi mille java-forumist e avrai mille modi di risolverlo.
    codice:
    for (int i = 0; i < 4; i++) {
                for (int j = 1; j <= 10; j++) {
                    if (i % 2 == 0) {
                        for (int k = 1; k <= j; k++) {
                            System.out.print("*");
                        }                    
                    }
                    else {
                        for (int k = (10-j+1); k >= 1; k--) {
                            System.out.print("*");
                        }                    
                    }
                    System.out.println();
                }
            }
    Bello questo codice....l'altro è ancora troppo complicato.
    A questo non ci ero arrivato!

    Grazie Alex

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.