8 Queen Problem

JAVA Code

import java.io.*;

class queens{
	int count=0;
	int x[]=new int[10];
	boolean place(int k,int i)
	{
	int j; 
	for(j=1;j<=k-1;j++)
		if((x[j]==i) || (Math.abs(x[j]-i)==Math.abs(j-k)))
			return false;
		
			return true;
	}
	void nqueens(int k,int n)
	{
		int r,i;
		for(i=1;i<=n;i++)
		{
			if(place(k,i))
			{
				x[k]=i;
				if(k==n)
				{
					for(i=1;i<=n;i++)
					{
						for(r=1;r<x[i];r++)
					 	{
							System.out.print("  -  ");
						}	
						System.out.print("  *  ");
						for(r=x[i]+1;r<=n;r++)
						{
							System.out.print("  -  ");
						}
						System.out.println("\n");
					}	
					count++;

					System.out.println(count);
					System.out.println();
				}
				else
					nqueens(k+1,n);
			}
		}
	}
}
class queens8
{
	public static void main(String args[]) throws Exception
	{
		
		queens q=new queens();
		q.nqueens(1,8);
		
	}
}