E' mezzo pomeriggio che tento di fare uno stupido programmino senza riuscirci.
Fin dall'inizio ho avuto difficoltà a gestire bene i cicli, e non vogliono entrarmi in testa come si deve.
Tale programma prende in input dall'utente un numero intero e stampa un triangolo isoscele di asterischi la cui base è il doppio dell'intero preso in input -1 e l'altezza è uguale all'intero preso in input. Le uniche istruzioni consentite per la stampa sono una che stampa una linea vuota, una che stampa un asterisco, e una che stampa uno spazio.
Si suggerisce di usare cicli for annidati.
Ma io riesco a produrre solo un quadrato![]()
![]()
![]()
Per favore mi date una mano a capire SENZA darmi la soluzione? (che la trovo in 2 minuti su internet ma non è questo che cerco).
Non riesco a capire come dirgli: alla prima riga stampa n spazi e un asterisco, alla seconda riga stampa n-1 spazi e 3 asterischi, e così via![]()
Grazie!codice:import java.util.Scanner; public class Asterischi { public static void main (String[] args) { Scanner scan=new Scanner(System.in); System.out.println("Inserisci un intero: "); int n=scan.nextInt(); int c=Math.abs(n); //in caso l'utente metta un negativo int base=2*(c-1); //il ciclo esterno stampa c volte una nuova riga e fin qui ci siamo... for (int i=0; i<c; i++) { System.out.println(); //questa è la parte incriminata for (int j=0; j<=base; j++) { System.out.print(' '); System.out.print('*'); } } } }

Rispondi quotando
)
