Solved

Passing a Boolean flag from one class to another

Posted on 2004-08-24
16
207 Views
Last Modified: 2010-05-18
Hi Experts

I am a newbie to java, Simple question, how do i pass a boolean flag from one class to another...

I have a class Library

public void library()
    {
       open = true;
    }

why cant i say this in my other class "Customer"

public void borrowBook(String Title)
   
      private Library aLibrary;

      if (aLibrary.open == true)
        {....

If i do this i get boolean canot be derefrenced....



0
Comment
Question by:baz_can_fix_it
  • 8
  • 6
  • 2
16 Comments
 
LVL 92

Expert Comment

by:objects
ID: 11888658
how/where is the open variable defined?
0
 
LVL 1

Author Comment

by:baz_can_fix_it
ID: 11888714
Hi objects, i owe you 50 which i'll add to this question...

its in the Library class

public class Library {  
    private List aBook= new ArrayList();
    public boolean open = true;
.....

Sorry typo

that meant to be

public void libStatus() // not public void library()

    {
       open = true;
    }
Cheers

PS hope i didnt get you in trouble...

0
 
LVL 92

Expert Comment

by:objects
ID: 11888743
that all looks fine. can you post the complete code for both classes and I'll see what the problem is.

> PS hope i didnt get you in trouble...

don't worry about it :)
0
Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

 
LVL 1

Author Comment

by:baz_can_fix_it
ID: 11888854
import java.util.*;

public class Customer
{
    private String cusName;
    private double amount;
    private Library aLibrary;

    public Customer (String name, double funds)
    {
        cusName = name;
        amount = funds;
       
    }
   
    public void buyBOOK (String title)
    {
        if (aLibrary.closed == false)
        {
           //do somestuff
        }
        else
        System.out.println("The Library is closed!");
    }
   
}


///////////////////////////////////////


public class Library {  
    private List aBook = new ArrayList();
    public boolean close = true;
    private String bookTitle;
    private String theLibraryName;
    private double till;
    private double total;
    private int count=0;
   

    public Library (String theLibraryName)
    {
        this.theLibraryName = theLibraryName;    
    }

    public void buyBooks(String newTitle, String ratings,double cost)
    {
            if (close == false)
            {
            till = cost;
            total = total + till;
            aBook.add(new BOOK(newTitle,ratings,cost));
        }
        else
        System.out.println("The Library is Closed, Please open Library first");
    }
   
     public void closeLibrary()
     {
         if (close == false)
            {
         double result = 0.0;
         result = total;
         close = true;
         System.out.println("Total takings for the day is:  $"+result);
            }
         else
         System.out.println("The Library is already Closed, Please open Library first");
         double result = 0.0;
         //return result;
     }


    public void openLibrary()
    {
        closed = false;
        double result = 0.0;
        total = 0;
    }

}



plz note i used close instead of my original open...

cheers
0
 
LVL 92

Expert Comment

by:objects
ID: 11888877
>     if (aLibrary.closed == false)

should be:

    if (aLibrary.close == false)
0
 
LVL 1

Author Comment

by:baz_can_fix_it
ID: 11888901
sorry that was a typo here it is actually all closed not close...i re typed it becuase if i want to paste the whole code is too much...

Cheers
0
 
LVL 1

Author Comment

by:baz_can_fix_it
ID: 11888958
I also get null point exception in here...

    public void buyBOOK (String title)
    {
        if (aLibrary.closed == false)
        {
           //do somestuff
        }
        else
        System.out.println("The Library is closed!");
    }
0
 
LVL 92

Accepted Solution

by:
objects earned 50 total points
ID: 11888972
aLibrary never gets set so it is null
0
 
LVL 19

Expert Comment

by:ramazanyich
ID: 11889654
your if statement should be
if(!aLibrary.closed){
...
}

0
 
LVL 1

Author Comment

by:baz_can_fix_it
ID: 11890910
Hi objects, what should i be doing...

ramazanich, I still get null point exception....

emmm i thought this was going to be simple....

Chhers
0
 
LVL 19

Assisted Solution

by:ramazanyich
ramazanyich earned 20 total points
ID: 11891286
you didn't initialize aLibary in your Customer class.
Add following line to constructor of Customer:

aLibrary = new Library("some name");
0
 
LVL 92

Expert Comment

by:objects
ID: 11898204
perhaps pass a library to you ctor:

    public Customer (Library lib, String name, double funds)
    {
        aLibrary = lib;
        cusName = name;
        amount = funds;
       
    }
0
 
LVL 1

Author Comment

by:baz_can_fix_it
ID: 11898312
Ok got it working...here is how

I placed this in my Library Class

public boolean IsClosed()
    {
      return closed;      
    }

now in my Customer Class I can say

if (!aShop.IsClosed())...

I'll give you guys some point for trying to help me anyway...thanx again

0
 
LVL 1

Author Comment

by:baz_can_fix_it
ID: 11898316
typo...if (!aLibrary.IsClosed())...

Cheers
0
 
LVL 1

Author Comment

by:baz_can_fix_it
ID: 11898328
Objects... here is the 50 i owe you...

ramazanyich...20 for you :)

Thank you both
0
 
LVL 92

Expert Comment

by:objects
ID: 11898372
Thanks mate :)
0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
javap bin 2 34
fibonacci ten numbers 4 38
How to convert String matching to regex in java 4 32
pagenation logic how it is working in my code 1 29
Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
Viewers learn about the “while” loop and how to utilize it correctly in Java. Additionally, viewers begin exploring how to include conditional statements within a while loop and avoid an endless loop. Define While Loop: Basic Example: Explanatio…
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.

776 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