Solved

Passing data through packages

Posted on 2003-12-11
64
359 Views
Last Modified: 2010-03-31
Ok I want to pass some data to a string in another package, the string is a textfield called cardNumberTextField, once this has been done, the getCardFromId should check the string and return true if the card exists, this is my code so far, but unsure how to go about this.  Also my package that needs the data is called dataclasses  

public class SetOfCards {
  public Vector theList;
  int theListSize;
    /** a method to search the vector and find a card given an ID number */
    public void getCardFromID(String idNumber)
    {
      String CardNo;
      CardNo = idNumber;
      theList = new Vector();
      theList.add("001");
      theList.add("002");
      for (int i =0; i<theListSize; i++)
      {
        if (theList.elementAt(i).equals(CardNo))
        {
          member();
        }
      }
 
     
    }

    /** returns the number of cards in the list */
    public int length()
    {
      theListSize = theList.size();
      return theListSize;
    }

    /** returns true if and only if the card already in the list*/
    public boolean member() {
      return true;
    }
0
Comment
Question by:DiavoIa
  • 24
  • 23
  • 13
  • +1
64 Comments
 
LVL 15

Expert Comment

by:jimmack
Comment Utility
Import the other package to give you access to the classes in it.

You haven't really supplied enough detail to suggest much more at this stage.
0
 
LVL 35

Assisted Solution

by:girionis
girionis earned 250 total points
Comment Utility
 You need to pass the String in a class in your package. Just create an instance of the class you want to use and either pass the string in the constructor or have a setter method to do it.

For exampel if your class that will receive the String is called DataClass you can do from the SetOfCards:

DataClass dc = new DataClass("the string to pass");

  Of course your DataClass should have a constructor that takes a String as parameter.
0
 

Author Comment

by:DiavoIa
Comment Utility
The package has been imported through the other class, I'm looking for the method to send a string over to the dataclass/SetOfCards, which is taken by: public void getCardFromID(String idNumber).

Lets just say I wanted to send a string from
import Package.dataclasses
Public class Card
{
  String IDNumber
}

to

package dataclasses;
/* Generated by Together */
import java.util.Vector;
public class SetOfCards {
  public Vector theList;
  int theListSize;
    /** a method to search the vector and find a card given an ID number */
    public void getCardFromID(String idNumber)
    {
      String CardNo;
      CardNo = idNumber;
      theList = new Vector();
      theList.add("001");
      theList.add("002");
      for (int i =0; i<theListSize; i++)
      {
        if (theList.elementAt(i).equals(CardNo))
        {
          member();
        }
      }
 
     
    }
    /** returns the number of cards in the list */
    public int length()
    {
      theListSize = theList.size();
      return theListSize;
    }

    /** returns true if and only if the card already in the list*/
    public boolean member() {
      return true;
    }

How would I send it and how would I get the "return true;" back?
0
 

Author Comment

by:DiavoIa
Comment Utility
the method didnt work which was given above btw
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
 Yopu have to do:

import Package.dataclasses
Public class Card
{
 String IDNumber = "12345364";

  SetOfCards soc = new SetOfCards();
  soc.getCardFromID(IDNumber);

}
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
 BTW I do not think this question is worth 500 pts.. I'd be happy with 50 between me and jimmack :)
0
 

Author Comment

by:DiavoIa
Comment Utility
If it works hehe
0
 
LVL 15

Assisted Solution

by:jimmack
jimmack earned 100 total points
Comment Utility
I'm not sure you're looking at this the right way round.  It looks more like the class SetOfCards should be storing a collection of Card objects.  This way, the SetOfCards will *request* the ID from the Card object(s), instead of the Card object(s) trying to send data the other way.

Does this make sense to you?

eg.  It looks like the Vector "theList" in SetOfCards should store Card objects.

theList = new Vector();
theList.add(new Card(...));  // Where ... are the parameters to the constructor (possible the card ID)
theList.add(new Card(...));

Then, when you want to get the ID's from each of the Cards, you could do:

Iterator it = theList.iterator();
Card curCard = null;
while (it.hasNext())
{
    curCard = (Card)it.next();
    if (curCard.getIDNumber().equals("001"))
    {
        // match found.
    }
}

However, it would be more efficient (if this is the case) to use a Hashtable to store the Card objects against the known ID (so the "key" would be the ID and the "value" would be the Card object).

eg.

Hashtable theList = new Hashtable();
Card curCard = new Card(...);
theList.put("001", curCard);
curCard = new Card(...);
theList.put("002", curCard);

Then, you can retrieve the card from the Hashtable based on the ID, eg:

Card foundCard = (Card)theList.get("001");
0
 
LVL 15

Expert Comment

by:jimmack
Comment Utility
girionis is probably right about the points.  50 each though, eh?  ;-)
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
> If it works hehe

  It should work :)

  Also a few notes about your code:

package dataclasses;

/* Generated by Together */
import java.util.Vector;

public class SetOfCards {
 public Vector theList;
 int theListSize;

  /** a method to search the vector and find a card given an ID number */
  public void getCardFromID(String idNumber)
  {

   String CardNo;  // you do not need this.
   CardNo = idNumber;  // or this, simply use the idNumber

   theList = new Vector();
   theList.add("001");
   theList.add("002");
   for (int i =0; i<theListSize; i++)
   {
    if (theList.elementAt(i).equals(CardNo)) // change this to this: theList.elementAt(i).equals(idNumber)
    {
     member();  // you do not need this. Simply return true.
     // by  doing: return true;
    // and do not forget to change the type of your method to boolean.
    }
   }
 
   
  }
  /** returns the number of cards in the list */
  public int length()
  {
   theListSize = theList.size();
   return theListSize;
  }

  /** returns true if and only if the card already in the list*/
  public boolean member() {
   return true;
  }
0
 

Author Comment

by:DiavoIa
Comment Utility
Hmm...seems to not work, the public class card is what sends the string, the soc.getCardFromId(IDNumber) seems to pull up an error, also I need to return the member() true statement back to it, so how will that work?
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
 The method getCardFromID should be:

 public boolean getCardFromID(String idNumber)
 {

  theList = new Vector();
  theList.add("001");
  theList.add("002");
  for (int i =0; i<theListSize; i++)
  {
    if (theList.elementAt(i).equals(idNumber))
    {
     return true;
    }
  }
}

  and call it like:

import Package.dataclasses
Public class Card
{
 String IDNumber = "12345364";

 SetOfCards soc = new SetOfCards();
 System.out.println("card found: " + soc.getCardFromID(IDNumber);

}
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
 This:

>  for (int i =0; i<theListSize; i++)

  should be

 for (int i =0; i<theList.size(); i++)
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
 YOu also need an explicit cast from Object to String in your if statement:

if (((String) theList.elementAt(i)).equals(idNumber))


0
 

Author Comment

by:DiavoIa
Comment Utility
Ok here is the whole snippet code, just so u can see what is happening.


//this is a state the terminal is in
      case WAITINGFORPIN:
      {

        String idNumber = null;
        idNumber.equals(cardNumberField);//this is a text field
        TerminalInterface soc = new TerminalInterface();
        soc.getCardFromID(idNumber);
        //if true then do this
        swipeButton.setEnabled(false);
        submitButton.setEnabled(true);
        cancelButton.setEnabled(true);
        doorStatusField.setText("Locked");
        openCloseButton.setEnabled(false);
        lockButton.setEnabled(false);
        break;
        //untill here
       

      }


package dataclasses;

/* Generated by Together */

import java.util.Vector;
import secureroom.TerminalInterface;

public class SetOfCards {
  public Vector theList;
  int theListSize;
 
 

    /** a method to search the vector and find a card given an ID number */
    public void getCardFromID(String idNumber)
    {
     
      //SetOfCards soc = new SetOfCards();
      //soc.getCardFromID(idNumber);

        theList = new Vector();
        theList.add("001");
        theList.add("002");
        for (int i = 0; i < theListSize; i++) {
          if (theList.elementAt(i).equals(idNumber)) {
            member();//dont know what goes in here now lol
          }
        }
     
 
     
    }



    /** returns the number of cards in the list */
    public int length()
    {
      theListSize = theList.size();
      return theListSize;
    }

    /** returns true if and only if the card already in the list*/
    public boolean member() {
      return true;
    }
/** removes the given card from the list
    public void removeCard(Card aCard) {
    }

    /** add the given card into the list
    public void addCard(Card aCard) {
    }

    public Person getNthMember(int p0){}*/

   
}
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
>String idNumber = null;
>idNumber.equals(cardNumberField);//this is a text field

  This will throw a null pointer exception as the variable idNumber is null. You need to initialize it.

  Change this:

> TerminalInterface soc = new TerminalInterface();

  to this:

SetOfCards soc = new SetOfCards();

  Also why do you need this:

> idNumber.equals(cardNumberField);//this is a text field

  you never seem to use it.

  Replace this:

soc.getCardFromID(idNumber);
    //if true then do this
    swipeButton.setEnabled(false);
    submitButton.setEnabled(true);
    cancelButton.setEnabled(true);
    doorStatusField.setText("Locked");
    openCloseButton.setEnabled(false);
    lockButton.setEnabled(false);
    break;
    //untill here

  with this:

    if (soc.getCardFromID(idNumber))
    {
      swipeButton.setEnabled(false);
      submitButton.setEnabled(true);
      cancelButton.setEnabled(true);
      doorStatusField.setText("Locked");
      openCloseButton.setEnabled(false);
      lockButton.setEnabled(false);
    }
      break;


  The method:

> getCardFromID

  in the SetOfCards class should change to the one I posted before.

  Do the changes, try to compile and run it and if you still have problems post again :)
0
 
LVL 86

Accepted Solution

by:
CEHJ earned 150 total points
Comment Utility
You don't need any iterations, nor any hashtables (unless there are other good reasons for the latter) as the collection classes already have methods to check whether they contain certain objects. All you need is

a. a method to return the 'set' of cards from the appropriate class, in the appropriate class:

public Collection getCards() {
      return cards; // return the Card collection
}

(this will mean you can have a Set or List of Card)

b. to implement your card class so it behaves correctly in collections (you should do this anyway, but it's often avoidable)

class Card {

      // other methods/constructor(s)

      private String id;

      public void setId(String id) {
        this.id = id;
      }

      public String getId() {
        return id;
      }
      
      public boolean equals(Object other) {
            if (other instanceof Card) {
                  return ((Card)other).getId().equals(this.id);
            }
            return false;
      }
      
      public int hashCode() {
            return id.hashCode();
      }
      
}      

You can then call

boolean isPresent = setOfCards.getCards().contains(new Card("12345"));

0
 

Author Comment

by:DiavoIa
Comment Utility
ok done that, go two errors with this code
    if (soc.getCardFromID(idNumber))
    {
      swipeButton.setEnabled(true);
      submitButton.setEnabled(false);
      openCloseButton.setEnabled(false);
      cancelButton.setEnabled(true);
      cardNumberField.setText("");
      cardNumberField.setEditable(true);
      pinField.setText("");
      pinField.setEditable(true);
      doorStatusField.setText("Locked");
      lockButton.setEnabled(false);
    }
      break;
cannot resolve symbol: variable idNumber in class secureroom.TerminalInterface at line 261 (261:27)
incompatible types;found   : void,required: boolean at line 261 (261:26)
0
 

Author Comment

by:DiavoIa
Comment Utility
heh cehj u totally baffled me lol
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
> cannot resolve symbol: variable idNumber

  You need to define the idNumber variable somewhere and give it a value.

> void,required: boolean at line 261 (261:26)

  You need to get a variable of type boolean. Which is the line 261?
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
> heh cehj u totally baffled me lol

  Sometimes (s)he forgets that beginners are also watching the topic :)
0
 

Author Comment

by:DiavoIa
Comment Utility
Yeah, idString is at line 261, both errors are for that
0
 
LVL 86

Expert Comment

by:CEHJ
Comment Utility
>>heh cehj u totally baffled me lol

What is it you don't understand? The important thing is that you don't need to do any wheel reinvention and can let the library classes do the work for you. In essence, the API lets you do

boolean present = x.contains(y);

where 'x' is a collection and 'y' is an object
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
> Yeah, idString is at line 261, both errors are for that

  You mean "idNumber"?

  What is this and how do you want to use it? You need to declare like:

String idNumber = "";

 and give it a value like:

idNumber = "123";

  Of course this value will probably be dynamic :)

0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
> In essence, the API lets you do
>
>boolean present = x.contains(y);

  .. in other words you can simply do:


/** a method to search the vector and find a card given an ID number */
  public boolean getCardFromID(String idNumber)
  {
    theList = new Vector();
    theList.add("001");
    theList.add("002");
    return theList.contains(idNumber);
    }

  Make it work with the way I suggested first and then you can optimize if you want.
0
 

Author Comment

by:DiavoIa
Comment Utility
if (soc.getCardFromID(idNumber))

this is supposed to be retrieving the value from set

public boolean getCardFromID(String idNumber)
 {

  theList = new Vector();
  theList.add("001");
  theList.add("002");
  for (int i =0; i<theListSize; i++)
  {
    if (theList.elementAt(i).equals(idNumber))
    {
     return true;
    }
  }
}


But I'm assuming that idNumber is going to be something else, like a boolean
0
 
LVL 86

Expert Comment

by:CEHJ
Comment Utility
>>return theList.contains(idNumber);

That will work if you're just storing Strings, and would be equivalent to

return idNumber.equals("001") || idNumber.equals("002");

but jimmack was almost certainly right when he observed:

>>It looks more like the class SetOfCards should be storing a collection of Card objects.  
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
 No "idNumber" needs to be the number that will be looked for in the set. You need to initialize it and give it a value otherwise how will your programme know which number to look for in the set?
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
> That will work if you're just storing Strings

 I don't see that the user is storing something else apart from Strings.
0
 

Author Comment

by:DiavoIa
Comment Utility
public boolean getCardFromID(String idNumber)
 {

Is recieving an idNumber, this is initialized

return true;

this returns true if the idNumber does exist.

   if (soc.getCardFromID(idNumber))
    {
      swipeButton.setEnabled(true);
      submitButton.setEnabled(false);
      openCloseButton.setEnabled(false);
      cancelButton.setEnabled(true);
      cardNumberField.setText("");
      cardNumberField.setEditable(true);
      pinField.setText("");
      pinField.setEditable(true);
      doorStatusField.setText("Locked");
      lockButton.setEnabled(false);
    }
      break;

if the previous statement was true, this needs to recieve it and do all these commands, but this is where the error is, and I'm assuming this statement if (soc.getCardFromID(idNumber)) is wrong as we're getting boolean back.

0
 
LVL 86

Expert Comment

by:CEHJ
Comment Utility
>>I don't see that the user is storing something else apart from Strings.

That's precisely the point - see above ;-)
0
 

Author Comment

by:DiavoIa
Comment Utility
obviously the vector only contain the idNumber, and then this should check the cardNumber itself, but I'm doing it this way for simplistic sake
0
Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

 
LVL 35

Expert Comment

by:girionis
Comment Utility
>  I'm assuming this statement if
>(soc.getCardFromID(idNumber)) is wrong as
>we're getting boolean back.

  You need to get a boolean back since you need to know if to enter the if statement or not. The problem is that in the above statement the "idNumber" should have a value in order to pass it to the calling class.

  Also, to clarify this, do you have a Card object defined somewhere or are you just using Strings?
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
> obviously the vector only contain the
>idNumber, and then this should check the
>cardNumber itself, but I'm doing it this way for
>simplistic sake

  Then we are on the right track :)
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
 Actually

> and then this should check the cardNumber itself,

  where do you store this cardNumber?
0
 

Author Comment

by:DiavoIa
Comment Utility
public class Card {






    public Person getHolder() {
    }

    public Card(int p0) {
    }

    public Card() {
    }

public Card(Visitor p0){}

    public boolean checkPIN(String p0){}

    public String getIDNumber(){}

    private String cardNumber;

    public boolean lostOrStolen() {
    }

    public void setPIN(String p0) {
    }

    public void setHolder(StaffMember holder) {
    }

    public boolean isActive(){}

    public void setActive(boolean p0) {
    }

    private String PIN;
}

package SecureRoom;
/* Generated by Together */

//package Packages.SecureRoom;

//import Packages.PeopleAndCards.Card;

/**
* Controls the locking / opening & closing of the door.
* Also acts as a mediator between the terminals on each side of the door. */

public class Door {

    /** opens the door */
    public void open(){}

    /** close the door */
    public void close(){}

    /** wait might be useful for some time-out operations */
    //public void wait(integer seconds){}

    /** lock the door */
    public void lock() {
    }

      /** unlock the door. The Card is passed so that the door
    * can inform the terminal on the other side which card to expect */
   public void unLock(Card theCard) {

    }

/** reset both terminals after a successful usage */
    public void terminalsToReady() {
    }

    private boolean locked;

    private boolean OpenClosedStatus;
}



But I feel if I do it this way, I will never get it done......
0
 

Author Comment

by:DiavoIa
Comment Utility
It should be, when u put your Id number into the text, then the id number checks to see if there has beena card number assign, then it checks if its correct.

Then it checks the password

Then it opens the door.
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
 Right so you actually have a Card object. If you want to check on the Card object itself then we will have to follow CEHJ's suggestion. However if you already have the corresponding card numbers as Strings in a Vector then we might as well do it with the way you originally intented to do it.

  If you have a JTextField (lets call it cardNumberField) with the card number then you can simply do:

String idNumber = cardNumberField.getText();
0
 

Author Comment

by:DiavoIa
Comment Utility
so an Id no, would have a card specified to it, its kinda hard to get my head round, what the setOfCards is suppose to do is take those out.
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
> what the setOfCards is suppose to do is take those out.

  Based on what criteria? I guess not on idNumber since this shouldbe unique.
0
 
LVL 86

Expert Comment

by:CEHJ
Comment Utility
>>what the setOfCards is suppose to do is take those out.

There again the library classes have methods to do this sort of thing. Perhaps is would be easier if you could say in simple terms what your objective is?
0
 

Author Comment

by:DiavoIa
Comment Utility
getCardFromID(String idNumber) is suppose to get an Id number from the text entered, then get a card number (which is apart of an ID) and then the card number would have another package which would contain staff details, pin and card number.  All this is way over my head lol
0
 
LVL 86

Expert Comment

by:CEHJ
Comment Utility
As long as you are clear on what is intended to be done in a non-technical sense, that's OK. If you're not clear on that, there's not much hope;-)
0
 

Author Comment

by:DiavoIa
Comment Utility
Basically its a security system, which has to take an id number and password, open the door to a certain terminal and record the detail
0
 

Author Comment

by:DiavoIa
Comment Utility
heh, I know what it suppose to do...it's doing it...
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
> getCardFromID(String idNumber) is suppose to get an Id number from the text entered

  Maybe this is supposed to get a Card based on the idNumber passed? You should get the text entered in a JTextField (I guess) and then pass this number to the SetOfCards object.

> then get a card number (which is apart of an ID)

  Where do you store those card numbers? In a vector? and I guess these card numbers correspond to Card objects.

> card number would have another package which would contain staff details, pin and card number.

  Not sure if I understand this. Maybe you mean that in the same package with the Card class there will be other objects that represent the staff etc?

> All this is way over my head

  Start by the simplest. What will you Card object contain? And how will this be related to other objects (staff etc)?
0
 
LVL 86

Expert Comment

by:CEHJ
Comment Utility
OK. What is the precise relationship between

card id
id number
password

?
0
 
LVL 86

Expert Comment

by:CEHJ
Comment Utility
Even before discussing object relationships, actually, what 'use case' are you trying to implement? Example use cases would be something like:

1. Find out who's logged in to the system
2. Log someone out from the system
etc.
0
 

Author Comment

by:DiavoIa
Comment Utility
-DataClasses

SetOfCards.java //does card operations, such as remove, add and also finds out the card no with a list of Id's
SetOfPerson.java // same thing, add, remove, find staff
SetOfRooms.java  
SetOfStaff.java  //collection of staff
SetOfTerminals.java //set of terminals

-PeopleAndCards

Card.java    / ** Keeps information about the individual cards, and their PIN numbers
Person.java    /** Represents any person. Stores the name. */
StaffMember.java   * An employee who might be allowed to have a card.
* Responsible for remembering the details
* of the employee (e.g. name and date of birth),
*  which card is currently held by this staff member

-SecureRoom

Door.java
Room.java
Terminal.java
TerminalsInterface.java

These are the important classes and packages(-) in the project
0
 

Author Comment

by:DiavoIa
Comment Utility
Show occupance in a room
Use-Door
0
 
LVL 86

Expert Comment

by:CEHJ
Comment Utility
OK - that's a help. Now use cases...
0
 
LVL 86

Expert Comment

by:CEHJ
Comment Utility
Crossed over post there - do we take it this is a use case?

>>Show occupance in a room
0
 

Author Comment

by:DiavoIa
Comment Utility
I have class diagrams and sequence diagrams too, if you want to take a gander I'll need to email them hehe
0
 

Author Comment

by:DiavoIa
Comment Utility
Well that would be implemented later, I'm working on use door right now
0
 
LVL 86

Expert Comment

by:CEHJ
Comment Utility
OK. Can you break down 'use door' into its constituents?
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
 What you should do:

>It should be, when u put your Id number into
>the text,

  Read the id from the text (I guess it is a JTextField) first and assign it to a String variable.

  String idNumber = jtextfield.getText();

> then the id number checks to see if there
>has beena card number assign,

  If you keep all the Cards in the SetOfCards then check this against the SetOfCards. If it is there then return true.

>then it checks if its correct.

  How do you check if the numebr is correct? Do you corelate it with the number defined in the Card object?
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
 Since this question does not any longer represent the original problem I suggest two things.

a) Close this question, you might as well delete it if it's fine with the rest of the people who have participated.
b) Think over your use cases, make sure you are clear about what you are doing and then post again when you are in trouble.
0
 
LVL 86

Expert Comment

by:CEHJ
Comment Utility
I've got to go out now but girionis can help maybe. I would guess that

Person needs to use Card to get through Door, therefore Door must keep a collection of Card used. Using Door would add to this collection on ingress and subtract from it on egress

Note, from your Card definition, a *Person* can have a Card, not only StaffMember
0
 

Author Comment

by:DiavoIa
Comment Utility
User selects terminal
user enters id
system checks id to see if user has a card
if user has a card
return true
checks staff member and room to see if staff member has the right access level
display enter pin
user enters pin
checks pin against card(package)
if correct open door
store date, cardno in room
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
 Do you still require help or you want to think it over and get back to us with a new question?
0
 

Author Comment

by:DiavoIa
Comment Utility
Sure thing mate, I'll get back to you guys in another thread.
0
 
LVL 15

Expert Comment

by:jimmack
Comment Utility
;-)
0
 
LVL 35

Expert Comment

by:girionis
Comment Utility
 :)
0
 
LVL 86

Expert Comment

by:CEHJ
Comment Utility
8-)
0

Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
Are you developing a Java application and want to create Excel Spreadsheets? You have come to the right place, this article will describe how you can create Excel Spreadsheets from a Java Application. For the purposes of this article, I will be u…
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now