DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   Java (http://www.daniweb.com/forums/forum9.html)
-   -   Need urgent help in code! (http://www.daniweb.com/forums/thread158332.html)

shubhang Nov 19th, 2008 12:00 pm
Need urgent help in code!
 
Hi,
I am new at java.
I have made the search class of an address book program
with the functions of add, modify and delete.

Please have a look into the code.

Please also explain the function of
 e.printstacktrace();

import java.io.*;
import java.util.*;
class search
{
        private String str,sval;
        private String arr[]=new String[8];
        private int ch;
        private int pos,ctr;
        clear c1=new clear();
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

        public void calc()throws IOException
        {
                       
                DataInputStream in=DataInputStream(new FileInputStream("adbk.txt"));
                System.out.println("How would you like to search?");
                System.out.println("1)by fn");
                System.out.println("2)by ln");
                System.out.println("3)by area code");
                System.out.println("4)by city");
                System.out.println("5)by state");
                System.out.println("enter choice:");
                ch=Integer.parseInt(br.readLine());
                                                                                                                                                                                       

                switch(ch)
                {
                        case 1:
                        {
                                System.out.println("enter fn");
                                pos=0;
                                break;
                        }
                        case 2:
                        {
                                System.out.println("enter ln");
                                pos=2;
                                break;
                        }
                        case 3:
                        {
                                System.out.println("enter arcd");
                                pos=3;
                                break;
                        }
                        case 4:
                        {
                                System.out.println("enter city");
                                pos=5;
                                break;
                        }
                        case 5:
                        {
                                System.out.println("enter state");
                                pos=6;
                                break;
                        }
                        default:
                        {
                                System.out.println("error");
                                break;
                        }
                }
                sval=br.readLine();


                                                                                                                                                                        //clr here
                while((str=in.readLine())!=null)
                {

                        StringTokenizer st=new StringTokenizer(str,"_");
                        for(int i=0;i<=7;i++)
                        {
                                arr[i]=st.nextToken();
                        }

                        if(sval==arr[pos])
                        {
                                ctr++;
                                for(int i=0;i<=7;i++)
                                {
                                        System.out.print(arr[i]+" ");
                                }
                                System.out.println();
                        }

                }

                System.out.println("Total hits="+ctr);

        }
        public static void main(String args[])
                {
                        search s=new search();

                        try
                        {
                                s.calc();
                        }

                        catch(IOException e)
                        {
                                System.out.println("error");
                        }
                }
}

Ezzaral Nov 19th, 2008 4:28 pm
Re: Need urgent help in code!
 
Quote:

Originally Posted by shubhang (Post 739709)
Please have a look into the code.

Why? Is there something wrong with it? If so, what specifically?

Quote:

Originally Posted by shubhang (Post 739709)
Please also explain the function of
 e.printstacktrace();

There is no such function as you have written it. There is, however, a printStackTrace() method on Throwable. Read that API link to see what it does.

shubhang Nov 20th, 2008 1:27 pm
Re: Need urgent help in code!
 
When I run the program,the search part(HIGHLIGHTED) does not work.
Please tell me where I am going wrong.

import java.io.*;
import java.util.*;
class search
{
        private String str,sval;
        private String arr[]=new String[8];
        private int ch;
        private int pos,ctr;

        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

        public void calc()throws IOException
        {
                BufferedReader in=new BufferedReader(new FileReader("adbk.txt"));                        //file read
                //DataInputStream in=DataInputStream(new FileInputStream("adbk.txt"));
                System.out.println("How would you like to search?");
                System.out.println("1)by fn");
                System.out.println("2)by ln");
                System.out.println("3)by area code");
                System.out.println("4)by city");
                System.out.println("5)by state");
                System.out.println("enter choice:");
                ch=Integer.parseInt(br.readLine());
                                                                                                                                                                                       

                switch(ch)
                {
                        case 1:
                        {
                                System.out.println("enter fn");
                                pos=0;
                                break;
                        }
                        case 2:
                        {
                                System.out.println("enter ln");
                                pos=2;
                                break;
                        }
                        case 3:
                        {
                                System.out.println("enter arcd");
                                pos=3;
                                break;
                        }
                        case 4:
                        {
                                System.out.println("enter city");
                                pos=5;
                                break;
                        }
                        case 5:
                        {
                                System.out.println("enter state");
                                pos=6;
                                break;
                        }
                        default:
                        {
                                System.out.println("error");
                                break;
                        }
                }
                sval=br.readLine();
                                                                                                                                                                                        //clr here
                while((str=in.readLine())!=null)
                {

                        StringTokenizer st=new StringTokenizer(str,"_");
                        for(int i=0;i<=7;i++)
                        {
                                arr[i]=st.nextToken();


                        }
                        System.out.println();

                        if(sval==arr[pos])
                        {
                                ctr++;
                                for(int i=0;i<=7;i++)
                                {
                                        System.out.print(arr[i]+" ");
                                }
                                System.out.println("");
                        }


                }

                System.out.println("Total hits="+ctr);

        }

}
Thanks.

masijade Nov 20th, 2008 2:17 pm
Re: Need urgent help in code!
 
Define "does not work".

Antenka Nov 20th, 2008 4:13 pm
Re: Need urgent help in code!
 
It doesn't work because you compare strings using "==". Try this:
if(sval.equals(arr[pos]))


All times are GMT -4. The time now is 8:11 am.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC