Please help. I have an illegal start of expression at line 65 where it says "public static void p(Object...args)"

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
import java.io.*;

/**
 *
 * @author Minh
 */
public class Dna {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws Exception 
    {

        BufferedReader r = new BufferedReader (new FileReader("a1input.txt"));

        String line = r.readLine();

        int howMany = Integer.parseInt (line)*2;
        int ctr = 0;

        String firstStrand = null;
        String secondStrand = null;
        String result = null;

        while (ctr <= howMany && line !=null)

        {
            line = r.readLine ();
            ctr++;
            if(line !=null)
            {
                if(ctr%2 == 0)
                {
                    secondStrand = line;

                    p(firstStrand, "and\n",secondStrand, "=\n",isHelix (firstStrand, secondStrand)?"YES" : "NO");
                }

                else 
                {
                    firstStrand = line;
                }
            }
        }
            //"A" always bonds with "T"
            //"G" always bonds with "C"
            //p(isHelix("ATTCGAA", "TAAGCTT"));
            //p(isValidStrand (args [0]));

            /*
            p(isValidBond('A','T'),'\n',isValidBond('T','A'),
            * '\n',isValidBond('G','C'),'\n',isValidBond('C','G'),'\n', isValidBond('C','A'),
            * '\n',isValidBond('A','C'),'\n',isValidBond('G','T'),'\n',isValidBond('T','G'));
            */

       /**
     *

     */
    public static void p(Object...args)
        {
           StringBuilder s = new StringBuilder ();
           for (int i=0; i < args.length; i++) {
                s.append ( args [ i ] );
            }
           System.out.println ( s.toString () );

        }

    public static boolean isHelix(String dna1,String dna2)
       {
           if(dna1.length()!= dna2.length()) {
               return false;
           }

           for(int i=0; i<dna1.length(); i++)
           {
               if(!isValidBond (dna1.charAt (i), dna2.charAt (i))) 
               {
                   return false;
               }
           }
           return true;
       }

       public static boolean isValidBond(char first,char second)
       {
           //"A" always bonds with "T"
           //"G" always bonds with "C"
           boolean result = false;

           if(first =='A' && second =='T'||first == 'T'&&second == 'A') {
               result = true;
           }

           else if ( first == 'G' &&second == 'C' ||first == 'C' &&second == 'G' ) {
               result = true;
           }
           else {
               result = false;
           }

           /* 
           p ( "isValidUniqueSequence ( ", first,second, " ) returns ", result ); 
           */
            return result;

       }
    }

Recommended Answers

All 2 Replies

Your code is missing an ending brace on line 60.

also: don't let your main method throw Exceptions. sure your code 'll compile and run, but where do you plan to catch that Exception?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.