I created a Pascal's triangle. I'm in 2nd semester, so I'm not that professional in programming. If there are some suggestions for improvement, please tell (took me 2 & 1/2 hrs to find the logic).
//Pascals Triangle
package logicBuilding;
import java.util.*;
public class PascalsTriangle {
static void print(int[] arr,int r) {
int size=2,t=1,n=0;
int [] arr1=null;
int temp1=1,temp2=1,sizeArr1=2;
for (int i=0;i<r;i++) {
for (int k = r - i - 1; k > 0; k--) {
System.out.print(" ");
}
for (int j = 0; j <= i; j++) {
if (i == 0) {
System.out.print(arr[i]);
break;
} else if (i == 1) {
System.out.print(arr[i - 1] + " " + arr[i]);
break;
}
System.out.print(arr[j] + " ");
}
if(i > 2) {
arr1 = new int[sizeArr1];
for(int a=1;a<size-1;a++) {
arr1[n]=arr[a];
n++;
}
n=0;
}
if (i > 0) {
arr = new int[++size];
arr[1] = ++temp1;
arr[size - 2] = ++temp2;
arr[size - 1] = 1;
arr[0] = 1;
}
if (i > 2) {
for (int g = 0; g < sizeArr1; g++) {
if (t < sizeArr1) {
arr1[g] += arr1[t];
t++;
} else {
break;
}
}
int w = 0;
while (w < sizeArr1) {
for (int h = 2; h < size - 2; h++) {
arr[h] = arr1[w];
w++;
}
break;
}
t = 1;
sizeArr1++;
}
System.out.println("");
}
}
public static void main(String[] args) {
Scanner s1=new Scanner(System.in);
int [] arr;
int r;
System.out.println("Enter the number of rows you want : ");
r=s1.nextInt();
s1.nextLine();
arr=new int[2];
arr[0]=1;
arr[1]=1;
print(arr,r);
}
}