8.7.. Napisati program za ispis pravouglog trougla kao na slici sa željenim brojem redova:
.

Opis rješenja: Ovaj ispis se ponekad naziva i "Glavna dijagonala":

Slika 1. Glavna dijagonala i=j

Listing programa :

I varijanta     ispis sa do-while (j <= i) 
// 08714038
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int i, j, n;

        System.out.print("Unesi n: ");
        n = input.nextInt();            // dimenzija matrice
        i = 1;                          // pocetna vrijednost i
        do {                            // pocetak do-while petlje i
            j = 1;                      // pocetna vrijednost j
            do {                        // pocetak do-while petlje j
                if (j < i)              // ispod glavne dijagonale j < i ? 
                     System.out.print(" ");  // ispis praznog znaka
                else
                    System.out.println("x"); // ispis x na glavnoj dijagonali j == i i novi red
                j++;                    // slijedeca vrijednost j
            } while (j <= i);  // ispod i na glavnoj dijagonali j <= i ?
            i++;                        // slijedeca vrijednost i
        } while (i <= n);        // redovi od i = 1 do n
    }
}


II varijanta     ispis praznine ispod glavne se izvodi unutra do ;  input znak .charAt(0)
// 08714038
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int i, j, n;

        System.out.print("Unesi n: ");
        n = input.nextInt();            // dimenzija matrice
        i = 1;                          // pocetna vrijednost i
        do {                            // pocetak do-while petlje i
            j = 1;                      // pocetna vrijednost j
            do {                        // pocetak do-while petlje j
                if (j < i)              // ispod glavne dijagonale j < i ? 
                    System.out.print(" ");  // ispis praznog znaka
                j++;                    // slijedeca vrijednost j
            } while (j < i);  // ispod glavne dijagonale j < i ?
            System.out.println("x");    // ispis x na glavnoj dijagonali j == i i novi red
            i++;                        // slijedeca vrijednost i
        } while (i <= n);        // redovi od i = 1 do n
    }
}


III varijanta     ispis praznine ispod glavne dijagonale izvodi se sa while (j < i) 
// 08714038
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int i, j, n;

        System.out.print("Unesi n: ");
        n = input.nextInt();            // dimenzija matrice
        System.out.print("Otkucaj znak: ");   
        char znak = input.next().charAt(0);		// znak
        i = 1;                          // pocetna vrijednost i
        do {                            // pocetak do-while petlje i
            j = 1;                      // pocetna vrijednost j
            do {                        // pocetak do-while petlje j
                if (j < i)              // ispod glavne dijagonale j < i ? 
                     System.out.print(" ");  // ispis praznog znaka
                else
                    System.out.println(znak); // ispis znaka i novi red
                j++;                    // slijedeca vrijednost j
            } while (j <= i);  // ispod i na glavnoj dijagonali j <= i ?
            i++;                        // slijedeca vrijednost i
        } while (i <= n);        // redovi od i = 1 do n
    }
}


IV varijanta     ispis praznine ispod glavne dijagonale izvodi se sa if (j == i);  input znak .charAt(0)
// 08714038
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int i, j, n;

        System.out.print("Unesi n: ");
        n = input.nextInt();            // dimenzija matrice
        System.out.print("Otkucaj znak: ");   
        char znak = input.next().charAt(0);		// znak
        i = 1;                          // pocetna vrijednost i
        do {                            // pocetak do-while petlje i
            j = 1;                      // pocetna vrijednost j
            do {                        // pocetak do-while petlje j
                if (j < i)              // ispod glavne dijagonale j < i ? 
                     System.out.print(" ");  // ispis praznog znaka
                j++;                    // slijedeca vrijednost j
            } while (j <= i);  // ispod i na glavnoj dijagonali j <= i ?
            System.out.println(znak);   // ispis znaka na glavnoj dijagonali j == i i novi red
            i++;                        // slijedeca vrijednost i
        } while (i <= n);        // redovi od i = 1 do n
    }
}

Ispis na ekranu:

Index