V22.0101 ......Homework Assignment 1 Draft #2 ...... Fall 2006
Binary Representation of Numbers

Assigned: MON, FEB 5.
First Version Due (by email to etutor): (Marateck) THURS, FEB 8, at 11:59 pm

Rewrite your first draft so that a class called Binary stores the decimal number in the instance variable numVal and the binary string corresponding to numVal will be stored in the instance variable binStr. The value of the decimal number is passed by the driver class Hw1 to the constructor. The constructor has the heading public Binary(int num) and will assign num to numVal. . The class Binary will have the same two methods you have already written for draft #1. They now have the following form:

• public void getBin(). This produces the string consisting of the binary equivalent of numVal and assigns it to the instance variable binStr.
• public boolean checkBin()). This take the binary string in binStr and checks to see if it correctly represents the number in numVal. If it does, it returns true to the driver class, Hw1, else it returns false.
• public String getBinValue() This returns the binary number.
• The main method in Hw1should check to make sure the decimal value is between 0 and 255. If it is not, it should print an informative error message (using System.out.println) and store the number 0 instead.
You can "hard-wire" the example numbers into the main method, or you can read them from the the keyboard using the JOptionPane class described in the text book (page 45) or the Scanner class (p53 in text, or see the instructions for the first draft) . The simplest form to use for assigning input to a string using JOptionPane, let's say number is String number = JOptionPane.showInputDialog("Type your decimal number");. If you have JDK 1.5 (and I urge you to download it), use the Scanner class.