monarchmk 24 Junior Poster in Training

Let hope that someone will not rep me - again for dropping solution
Anyway it was pleasure doing this one :)

public class parenthesis {

	public static void main(String[] args)
	{
		//Next ones are several strings just for testing. Only one should be active in a time
		String s="{([]{()})}"; //should be true
		//String s="{[]}(}"; //Should be false
		//String s="[]{{{}"; //Should be false
		//String s="[]{{}{}}"; //Should be true
		//String s="(((})))"; //Should be false
		//String s="((({})))"; //Should be true
		//String s="{{{}}}}"; //should be false
		
		String [][] par=new String [s.length()][2]; //Make array with length of a string s and 2 spare position for parenthesis and used/unused state
		boolean valid=true; //Lets be positive from start...
		
		for (int i=0;i<s.length();i++) //First will fill array with parenthesis
		{
			par[i][0]=s.substring(i, i+1);
			par[i][1]="0"; //means not yet used
		}
		
		for (int i=0;i<s.length();i++)
		{
//Check [ parenthesis
			if (par[i][0].equalsIgnoreCase("]")) //Checking for [ ]
			{
				//means there is closed  parenthesis.. check previous if there is opened one of same type and not already used
				//also check if previous is opened one but from other type, this is also invalid
				for (int j=i-1;j>=0;j--)
				{
					if ((par[j][0].equalsIgnoreCase("[") || par[j][0].equals("{")|| par[j][0].equals("(")) && par[j][1].equals("0")) //Check if previous parenthesis is open one of any type and not used one
					{
						//OK, i have open parenthesis... now check type. Valid is only if opened one match with closed one...
						if (par[j][0].equals("[")) //If previous is open and is right type then 
						{
							//OK, i need this type...
							par[j][1]="1"; //MAke it used
							par[i][1]="1"; //Make closed parenthesis used
							//I …
jon.kiparsky commented: If rep matters to you, quit doing people's homework for them. +0
monarchmk 24 Junior Poster in Training

Here is my view of your code... I added some comments so you can use it.
and some BIG suggestion... If you planning to continue to use JAVA learn how to indent your code... putting that much {{{}}} in same starting point (column1) is too much confusing and not readable. Look down in my code to see difference. It is simple for start... on every opened parenthesis add one TAB more.
Also arrays starts from 0, why do you start counters from 1? i thing that the problem why you create array with 11 fields.I leave it like that in code below but every other thing i started from 0, just not to be confused.

import java.io.*;

 public class evenodd
{
  public static void main (String [] args) throws Exception
	{
	  BufferedReader reader=new BufferedReader(new InputStreamReader(System.in)); //I preffered Bufferedreader, you can change it
	  double[] even=new double[11]; //Declarations
	  double[] odd=new double[11];
	  double[] negative=new double[11];
	  double number=0;
	  int ceven=0; //Counter for even values
	  int codd=0; //Counter for odd values
	  int cneg=0; //counter for negative values
	  
	  for (int i=1;i<9;i++)
	  {
		  System.out.println("Please input your number");
		  number=Double.parseDouble(reader.readLine()); //Converting string to double as you want doubles
		  if (number < 0) //If number is negative...
		  {
			  negative[cneg]=number; //... put it in negative array and..
			  cneg++; //increase negative counter by one
		  }
		  else if (number % 2 ==0) // if number is even  notice that checking is with % not number/2!=0
		  {
			  even[ceven]=number; //put it in array
			  ceven++; //increase even counter
		  }
		  else if (number % …
jon.kiparsky commented: Please don't do his homework for him +0