Anthony W.
Smith, 2017
CSCI 114 Programming Fundamentals II
BlueJ homework
BlueJ homework
Purpose
Purpose is to become comfortable using BlueJ to enter and run Java programs. You will
also learn how to unzip and run the example programs, how to install BlueJ onto your
own computer, and how to print programs for grading.
1. How to enter and run a program
Begin to learn how to use BlueJ as you type-in and run the Rectangle example program:
start BlueJ
double-click the icon on your desktop
BlueJ has a large main window which shows the class diagram of the program
you are working on
if necessary, use Project | Close to close an old project that may have opened
when BlueJ started
create a new folder in which to save your new program
choose Project | New Project
set Look in: to the place where your folder will be saved. For example, I used
Desktop
set File name: to something appropriate for the name of the new folder. I used
Rectangle
create your new Rectangle class
click the New Class button
set Class Name: to Rectangle and click Ok
this shows the Rectangle class in the main window
(the stripes mean that the class has not been compiled)
(you can drag the bottom right hand corner of the icon to re-size it)
1
Anthony W. Smith, 2017
CSCI 114 Programming Fundamentals II
BlueJ homework
type-in the Java code for the Rectangle class
double-click the Rectangle icon to open the editor window
BlueJ automatically gives you the generic template of a new Java class, to help
get you started. You edit and delete from this template so that it becomes the Java
code you want
heres the (corrected) Rectangle code again, type it in carefully! Be advised that
it continues onto the next page. Delete any parts of the generic template that you
do not use
(all the Java programs your write must look professionally formatted. Layout
your program exactly as shown below)
/**
* This program represents a rectangle.
*
* @author: you must put your own name here!
* @version: put today's date here!
*/
public class Rectangle
{
// instance variables
private double length;
private double width;
// constructor method
public Rectangle(double len, double w)
{
length = len;
width = w;
}
// method that calculates area
public void calculateArea()
{
[Link]("Area is: " + (length * width));
}
}
compile the Java program
click the Compile button
if you typed everything correctly, youll see Class compiled no syntax errors
in the status window at the bottom
2
Anthony W. Smith, 2017
CSCI 114 Programming Fundamentals II
BlueJ homework
if you made a typing mistake you may have a syntax error, where the rules of
the Java language have been broken. Syntax errors are normal as people learn to
program
the compiler finds syntax errors and tells you what and approximately where they
are
click the ? button in the status window for more help with a syntax error
correct the error and compile again
repeat until all syntax errors are fixed and your program compiles cleanly
run the program by creating Rectangle objects from the Rectangle class
in the main window, right-click the Rectangle class icon to show a pop-up menu
choose new Rectangle(double len, double w) to run the constructor and create a
new Rectangle object
BlueJ provides a default name for the Rectangle: rectangl1 here
enter some values for your rectangles length and width and click Ok
the new object is shown on the object bench at the bottom of the window
you can create many different objects from a class
create another rectangle object with a different name and size
run your objects methods
right-click an object to pop-up a menu. Choose void calculateArea() to run
this method
output from the program causes the Terminal Window to pop-up
check that the result of calculateArea() is correct (remember the importance
of testing your program?)
inspect the inside of an object
3
Anthony W. Smith, 2017
CSCI 114 Programming Fundamentals II
BlueJ homework
BlueJ allows you to look inside an object, which helps you see more clearly
what is going on!...
right-click an object and choose Inspect
a dialog box shows the values of the objects instance variables
click Close
you can destroy an object if you are done with it
right-click the object and choose Remove
close your project
click Project | Close, this clears your project from the class window
you can open an existing project
click Project | Open Project or Open Recent and navigate your way to your
project
close your project, then exit BlueJ when you are done
Project | Quit
How to save the output of your program
As you saw, output from a program appears in the Terminal Window. You must save the
output for grading, as follows:
Restart your Rectangle project in BlueJ, create a new Rectangle object, and run the
calculateArea() method to pop-up some output in the Terminal Window.
First, in Terminal Windows Options, set Clear screen at method call so that the
window is cleared every time you run a program. Also set Unlimited buffering, so that
the window can scroll to handle long output.
Then use Terminal Windows Options | Save to file to save the output of the program
into a text file. The file can be named [Link], and saved inside the Rectangle folder
with the rest of the BlueJ project. (So at File name: you have to type [Link] not
just output the .txt file type is very important)
4
Anthony W. Smith, 2017
CSCI 114 Programming Fundamentals II
BlueJ homework
Bring a USB flash drive
Bring a USB flash drive to class so that you can easily take home any BlueJ work you do.
Other alternatives are to email code from the lab to yourself, or send it to the cloud.
Student files are deleted every time a lab computer is restarted.
2. How to unzip and run the example programs
My lectures use example programs to illustrate and explain the major points. It is
essential every week that you run and understand the example programs.
The example programs are compressed into a .zip file, which must be unzipped before
BlueJ can open the programs.
You must now download, unzip then run the example program named Hello. (Do not
worry yet about Java syntax, that will be explained beginning next week):
in Blackboard, Course Documents, Week 1 folder, find the Example programs item.
Click the down-arrow next to the [Link] link and choose Open
this downloads the [Link] file to your computer
exactly how to unzip the file varies from computer to computer
for example, on my Windows machine the download starts Windows Explorer
with the Extract all files command available at top left
I use this to unzip or extract the example programs to a sensible location, for
example the Desktop
you have to find how to unzip the example programs on your own computer
start BlueJ when you have successfully unzipped the Hello example program
use Project | Close if a project is already open
use Project | Open Project to open the Hello project from your uncompressed
folder
create a new Hello object
run the objects sayHello() method, which pops-up the BlueJ Terminal Window
where input/output is displayed
save the output of the Hello program, as above
5
Anthony W. Smith, 2017
CSCI 114 Programming Fundamentals II
BlueJ homework
you will print the Hello program source code and output, explained shortly
3. Install BlueJ onto your own computer
Install BlueJ onto your own computer, so that you can do programming outside of class
and print your work for grading.
BlueJ is available as a free download from [Link]. Run the installer appropriate
to your computer.
(If you are unable to install BlueJ, you may not have enough computer experience to be
able to complete this course successfully.)
4. Java programs and output must be printed for grading
You will be printing the programs you write, to hand in for grading. Heres how to do it,
using the Rectangle example program.
first, look inside the Rectangle folder to review some of the many files in a BlueJ
project:
[Link] BlueJ package file. There is always a single .bluej file,
generated automatically by BlueJ. This contains information about the entire
program, such as a list of all classes in the project, layout of classes on screen, and
so on.
(Note that in older versions of BlueJ, the package file would be named
[Link], and that a backup called [Link] would be created automatically.
You may occasionally see these older .pkg and .pkh files around)
[Link] Java source file, for the Rectangle class. Written by the
programmer. Unlike this example, most programs contain many classes. Each
class is saved in its own, separate .java file
[Link] the program output, which you saved in a .txt text file
[Link] Java bytecode file for the Rectangle class. Generated by the
compiler. Each .java file would be compiled into a separate .class file
[Link] BlueJ context file. Generated by the compiler. Stores
information about each class, such as parameter names and method comments,
which BlueJ needs to construct its menus and dialogues
6
Anthony W. Smith, 2017
CSCI 114 Programming Fundamentals II
BlueJ homework
[Link] project documentation file. Older versions of BlueJ would
automatically create this documentation outline for the program. The
programmer would then update the file, to pass important information to future
maintenance programmers. The current version of BlueJ no longer generates it
automatically, although you may still see it around in my example programs
of these files, you need to print the Java source file that you wrote contained in
[Link]. Open your Rectangle program in BlueJ, then:
double-click the Rectangle icon in the BlueJ class window to display your code
in the editor window
make sure that your full name appears clearly in your source code!
make sure that your Java code looks professionally formatted, exactly like all the
example programs I write. Fix your layout if necessary
choose Class | Print
you must also print the output of your program, which you saved as the [Link]
text file
always check your output, make sure its correct before you print it!
(note that you cannot print in MD-234. You must print at home instead)
Submitting your work
deadline for this homework is 1 week, at start of lab on Thursday 2/9/2017
print and hand-in source code and output for both the Rectangle and Hello programs
make sure your name is on there clearly
this is a homework assignment, without a numeric score I just want to see that you
can do the work