Print array of objects

Hello

I am trying to print out the values of my array of objects. Been at it a couple of hours and I've decided to ask for help

public class DataBase1 {

    int id;
    String firstName;
    String lastName;
    String skill;
    Boolean bool;

    DataBase1(int id2, String name1, String name2, String skill2, boolean b){ //constructor
        int id = id2;
        firstName = name1;
        lastName = name2;
        skill = skill2;
        bool = b;
    }
    public String toString(int id, String firstName, String lastName, String skill, boolean b){
        return toString();
    }
}
----------------------------------------------------------------------------------------------------------------------
public class Server {

    public static void main(String[] args) {

        int size = 5;
        DataBase1 staff[] = new DataBase1[size];
        staff[0] = new DataBase1(1, "John", "Doe", "Java", true);
        staff[1] = new DataBase1(2, "John", "Doe", "Java", true);
        staff[2] = new DataBase1(3, "John", "Doe", "Java", true);
        staff[3] = new DataBase1(4, "John", "Doe", "Java", true);
        staff[4] = new DataBase1(5, "John", "Doe", "Java", true);

        for(int i = 0; i < staff.length; i++){
            System.out.println(staff[i]);
        }

        System.out.println(Arrays.toString(staff));
}
}
kevinb4940Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

krakatoaCommented:
This any better ?

public class DataBase1 {

    int id;
    String firstName;
    String lastName;
    String skill;
    Boolean bool;

    DataBase1(int id2, String name1, String name2, String skill2, boolean b){ //constructor
        id = id2;
        firstName = name1;
        lastName = name2;
        skill = skill2;
        bool = b;
    }
    public String toString(int id, String firstName, String lastName, String skill,  boolean b){
        return this.toString();
    }
}

Open in new window


public class Server {

    public static void main(String[] args) {

        int size = 5;
        DataBase1 staff[] = new DataBase1[size];
        staff[0] = new DataBase1(1, "John", "Doe", "Java", true);
        staff[1] = new DataBase1(2, "John", "Doe", "Java", true);
        staff[2] = new DataBase1(3, "John", "Doe", "Java", true);
        staff[3] = new DataBase1(4, "John", "Doe", "Java", true);
        staff[4] = new DataBase1(5, "John", "Doe", "Java", true);

        for(int i = 0; i < staff.length; i++){
            System.out.println(staff[i].firstName+" "+staff[i].lastName+" "+staff[i].skill+" "+staff[i].bool);
        }

        System.out.println(Arrays.toString(staff));
}
}

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
kevinb4940Author Commented:
Hello

Thank you very much you have really helped. So i do not need to use a toString method??
0
kevinb4940Author Commented:
Thanks again. If you have time I've been playing around with an arraylist also. How would I print this?    

     ArrayList<DataBase1> callDb = new ArrayList();
        callDb.add(new DataBase1(1, "John Doe", "Java", true));
        callDb.add(new DataBase1(2, "Jane Dee", "Php", true));
        callDb.add(new DataBase1(3, "Jim Downs", "Js", true));
        callDb.add(new DataBase1(4, "Jack Jones", "C#", true));
        callDb.add(new DataBase1(5, "Jill Doods", "C++", false));
0
Introduction to R

R is considered the predominant language for data scientist and statisticians. Learn how to use R for your own data science projects.

krakatoaCommented:
public class Server {

    public static void main(String[] args) {

        int size = 5;
        DataBase1 staff[] = new DataBase1[size];
        staff[0] = new DataBase1(1, "John", "Doe", "Java", true);
        staff[1] = new DataBase1(2, "John", "Doe", "Java", true);
        staff[2] = new DataBase1(3, "John", "Doe", "Java", true);
        staff[3] = new DataBase1(4, "John", "Doe", "Java", true);
        staff[4] = new DataBase1(5, "John", "Doe", "Java", true);
        
        
        List<DataBase1> callDb = new ArrayList<DataBase1>();
        callDb.add(new DataBase1(1, "John", "Doe", "Java", true));
        callDb.add(new DataBase1(2, "Jane", "Dee", "Php", true));
        callDb.add(new DataBase1(3, "Jim", "Downs", "Js", true));
        callDb.add(new DataBase1(4, "Jack", "Jones", "C#", true));
        callDb.add(new DataBase1(5, "Jill", "Doods", "C++", false));
        

        for(int i = 0; i < staff.length; i++){
            System.out.println(staff[i].firstName+" "+staff[i].lastName+" "+staff[i].skill+" "+staff[i].bool);
        }
        
        for(int i = 0; i < callDb.size(); i++){
            System.out.println(callDb.get(i).firstName+" "+callDb.get(i).lastName+" "+callDb.get(i).skill+" "+callDb.get(i).bool);
        }

        System.out.println(Arrays.toString(staff));
}
}

Open in new window

0
kevinb4940Author Commented:
Thank you very much
0
krakatoaCommented:
Are you sure you needed that? From me I mean.
0
kevinb4940Author Commented:
Yes It was very helpful. It's part of the bigger question. Thanks. I'm doing an intense java course and I'm struggling little but Ill catch up.
Still struggling with the toString ...............getting this output on my following program

Hello , I have attached 3 classes this question, A client class and a server class and a database class. I am trying to print a quote but I keep getting hashcode output instead of the text.

Enter command: 1:get    2:add   3:delete    0:exit
1
Enter quote number to get:
3
QuoteAnswer.DataBase1@548a9f61

--------------------------------------------------------------------------------------------------------------------------------

===========Client Class ============

import java.io.IOException;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.Scanner;

public class QuoteOfTheDayClient_2 {

    public static void main(String[] args) throws IOException {

        Socket echoSocket = null;  // holds the Socket object
        Scanner fromServer = null;   // input stream from remote host
        PrintWriter toServer = null; // output stream to remote host
        Scanner stdIn = new Scanner(System.in);
        String remoteServer = "localhost";          // are you 'local'?!
        //String remoteServer = "193.61.190.96"; // remote host is not 'local'!
        int port;

        try {
            port = 4444; // 17 for localhost
            echoSocket = new Socket(remoteServer, port);
            fromServer = new Scanner(echoSocket.getInputStream());
            toServer = new PrintWriter(echoSocket.getOutputStream(), true);
        } catch (Exception e) {
            System.err.println("Exception: " + e);
            System.exit(1);
        } // try-catch

        String reply;      // holds reply from remote host
        int command;

        System.out.println("Enter command: 1:get    2:add   3:delete    0:exit");
        command = stdIn.nextInt();

        while (command > 3 || command < 0) {
            System.out.println("Command not recognised");
            System.out.println("Please enter one of the following options: 1:get    2:add   3:delete    0:exit");
            command = stdIn.nextInt();
        }

        while (command != 0) {

            switch (command) {
                case 1: {
                    // get quote
                    toServer.println(command);
                    System.out.println("Enter quote number to get: ");
                    int quoteNum = stdIn.nextInt();
                    toServer.println(quoteNum);

                    while (!(reply = fromServer.nextLine()).isEmpty()) {
                        System.out.println(reply); // print reply to screen

                    }
                    fromServer.nextLine();     // Consume the newline
                    System.out.println();
                    break;
                }
                case 2: {
                    // add quote

                    toServer.println(command);
                    System.out.println("Enter quote:");
                    stdIn.nextLine();   // flush newline
                    String quoteString = stdIn.nextLine();
                    toServer.println(quoteString);
                    System.out.println("quoteString entered: " + quoteString);

                    break;
                }
                case 3: {
                    // delete quote
                    toServer.println(command);
                    System.out.println("Enter quote number to delete: ");
                    int quoteDel = stdIn.nextInt();
                    toServer.println(quoteDel);
                    break;
                }
                default:
                    System.out.println("*** Command not recognised ***");
                    break;
            }

            System.out.println("Enter command: 1:get    2:add   3:delete    0:exit");
            command = stdIn.nextInt();
        }
        toServer.println(command);
        echoSocket.close();
        fromServer.close();
        toServer.close();
        stdIn.close();
    } // main
} // EchoClient

===========Server Class ======================================================

import java.io.IOException;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class QuoteOfTheDayServer_2 {

    public static void main(String[] args) throws IOException {

        ArrayList quotesAL = new ArrayList <>();
        quotesAL.add(new DataBase1(1, "Martin L", "King", "Quote 1", true));
        quotesAL.add(new DataBase1(2, "Ablert", "Enstein", "Quote 2", true));
        quotesAL.add(new DataBase1(3, "William", "Shakespeare", "Quote 3", true));
        quotesAL.add(new DataBase1(4, "Mahatma", "Gandi", "Quote 4", true));
        quotesAL.add(new DataBase1(5, "Winston", "Churchill", "Quote 5", false));

        // Wrap the standard System.in stream with a Scanner so that
        Scanner stdIn = new Scanner(System.in);
        Scanner fromClient = null;
        PrintWriter toClient = null;

        int pNum = 4444;
        ServerSocket sSocket = null;
        Socket cSocket = null;

        try {
            sSocket = new ServerSocket(pNum);
        } catch (IOException e) {
            System.out.println("Couldn't listen on port: " + pNum + "; " + e);
            System.exit(1);
        }

        // Continuously wait for client; accept them; and send a quote to them.
        while (true) {
            try {
                System.out.println("Waiting for client ....");
                // Blocking 'accept' i.e. wait for a client
                cSocket = sSocket.accept();
                System.out.println("Client connected from: " + cSocket.getInetAddress());

                // Set up the output stream for the server, i.e. a PrintWriter stream
                toClient = new PrintWriter(cSocket.getOutputStream(), true);
                fromClient = new Scanner(cSocket.getInputStream());

                int command = fromClient.nextInt();

                System.out.println("Received command: " + command + " from client at " + cSocket.getInetAddress());

                while (command != 0) {
                    switch (command) {
                        case 1: // get quote
                        {
                            System.out.println("GET quote");
                            int quoteNum = fromClient.nextInt();
                            toClient.println(quotesAL.get(quoteNum - 1));
                            System.out.println("Pushed quote number: " + quoteNum + " to client at " + cSocket.getInetAddress());
                            //toClient.println(quotes[quoteNum]); // return quote
                            //System.out.println(quoteNum.get(i).firstName+" "+quoteNum.get(i).lastName+" "+quoteNum.get(i).skill
                            //        +" "+quoteNum.get(i).bool);
                            break;
                        }
                        case 2: // add quote
                        {
                            System.out.println("ADD quote");
                            fromClient.nextLine();   // flush newline
                            String quote = fromClient.nextLine();
                            System.out.println("Received quote from client:" + quote);
                            quote = quote + "\n\n";
                            quotesAL.add(quote);
                            System.out.println("Added quote" + quote);
                            break;
                        }
                        case 3: // delete quote
                        {
                            System.out.println("DEL quote");
                            int quoteNum = fromClient.nextInt();
                            System.out.println("DELeting quote number: " + quoteNum);
                            quotesAL.get(quoteNum - 1);
                            quotesAL.remove(quoteNum - 1);
                            break;
                        }
                        default:
                            break;
                    }
                    command = fromClient.nextInt();
                    System.out.println("Received command: " + command + "from client at " + cSocket.getInetAddress());
                }
                // Close all streams
                toClient.close();
                cSocket.close();
                fromClient.close();
                stdIn.close();
            } catch (IOException e) {
                System.out.println("Accept failed: " + pNum + "; " + e);
                System.exit(1);
            }
        }
    } // main
} // QuoteOfTheDayServer_2



===========Database Class ====================================================

import java.util.Arrays;

public class DataBase1 {

    int id;
    String firstName;
    String lastName;
    String skill;
    Boolean bool;

    DataBase1(int id2, String name1, String name2, String skill2, boolean b){ //constructor
        int id = id2;
        firstName = name1;
        lastName = name2;
        skill = skill2;
        bool = b;
    }

    public String toString(int id, String firstName, String lastName, String skill, boolean b){
        System.out.println(" Id: " + id + "\n Name: " + firstName + " " + lastName + "\n Skill: " + skill + "\n Available: " + b);
        return toString();
    }
 
}
0
krakatoaCommented:
Before we go any further, I would strongly recommend you put your code into the code tags. The Big Boys often don't look at code that is just dumped in the body.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Java

From novice to tech pro — start learning today.