1A
If you have not done so, create the directory structure specified in Lab1.
Start a new Bluej project called hw1a_math_draft in the cs46a/homework/hw01/draft folder. You can actually name the project anything, but this is a good naming convention that will help you keep things straight.
In the Bluej project, create a class called ArithmeticPrinter
. (You must use this exact name to pass Codecheck). Copy and paste the start code from the 1A draft link below into ArithmeticPrinter
class.
Finish the application so that it prints the sum of the first five multiples of 10. (10 + 20 + 30 + 40 + 50))
and then on the next line, prints the product of the same five numbers. Product means multiply. In Java, you use the symbol "*"to multiply. It is (located above the 8 on the keyboard.
To have an application, you need a main method. It is provided for you in the starter code you copied.
Do not do the math on a calculator or in your head and simply display the answer. Actually have the computer do the work by doing the calculations in a System.out.println statement. (You can look at Horstmann video lesson 1 "Text and Numbers" if you need help). As an example, to print the sum of the numbers 1 to 5, you would use a statement like this
System.out.println(1+ 2 + 3 + 4 + 5);
For the draft, only print the sum of the first five multiples of 10. You will add the code for the draft inside the main method.
To compile your code, click the Compile button in the top left of the Bluej editor. To run your program, go to the Bluej workbench, right click on the ArithmeticPrinter
rectangle, choose void main(String[] args
, and click OK
When you think your code is correct, copy the whole class from Bluej and paste it into the textarea in the Codecheck draft link. Click submit. This will generate a HTML report about the correctness of your solution. Click the Download Report button and save it until you have all three programs (1A, 1B, and 1C)
When you are ready to work on the final, copy the Bluej project (hw1a_math_draft) into the cs46a/homework/hw01/final folder. Change the word draft to final. This will help you tell the draft and the final when both are open in Bluej. Open the copied project (hw1a_math_final) in Bluej by double clicking on package.bluej file. Complete the assignment.
Note: It is important to remember that Codecheck just helps you get your code to work. It does not submit it for grading. You must download and submit the report for grading in the Canvas Assignment area. See Submission directions at the bottom of the page.
It is important that you name your class exactly as specified, otherwise Codecheck will not be able to process your submission and you will get no credit.
If you use an IDE like Eclipse or Netbeans, do not include a package statement. Codecheck will not be able to process your submission and you will get no credit.
To run your draft in Codecheck, click on the draft link below. Copy and paste the code from Bluej into the textarea and click submit. If your code passes the test, Congratulations. If not, go back to Bluej, make any necessary changes, and repeat the process.
See the Submission directions at the bottom of the page.
Follow a similar process for the final version.
1B
Start a new Bluej project called hw1b_unicode_draft in the cs46a/home works/hw01/draft folder.
In the project, create a new class called FunWithUnicode
(you must use this exact name to pass Codecheck). In this application, you will print 3 lines and use some of the non-English characters
Go to the Codecheck draft link at the bottom of the page. Copy the FunWithUnicode
starter code you are given there. Create a FunWithUnicode
class in your Bluej project. Paste the code form Codecheck into the Bluej class.
The output for the final version will look exactly as shown.
For the draft, just print the first line like the image below. You will add the code inside the main method.
The "|" is called a pipe and is located above the Return (Enter) key. The "*" is an asterisk and is located above the 8. It is also the symbol used in Java for multiplication.
When you think your draft code is correct, copy the whole class from Bluej and paste it into the textarea in the Codecheck draft link. Click submit. This will generate a HTML report about the correctness of your solution. Click the Download Report button and save it until you have all three
When you are ready to work on the final, copy the Bluej project (hw1b_unicode_draft) into the cs46a/homework/hw01/final folder. Change the word draft to final. This will help you tell the draft and the final when both are open in Bluej. Open the final project (hw1b_unicode_final) in Bluej and complete the assignment.
The last two lines in the output needs more explanation. These contain non-English characters. The second line is Kanji, a Japanese system of writing. The word is pronounced onna no ko and means girl. The last line are symbols.
So how do you print non-English characters? Well, every printable character in English and most other languages, along with many symbols, is represented by a hexadecimal number (it is called Unicode). When you type a character on your keyboard, the computer software takes care of translating the character to its Unicode representation. But when we want to display a character that is not on the keyboard like the Kanji, we have to supply the Unicode ourselves. We could also specify the English characters directly with Unicode, but it is much easier to let the computer take care of the translation. Here is a table of a few characters and their Unicode values
Character | Unicode |
---|---|
C | \u0043 |
A | \u0041 |
T | \u0054 |
![]() |
\u5973 |
![]() |
\u306E |
![]() |
\u5B50 |
![]() |
\u2665 |
![]() |
\u2615 |
![]() |
\u263A |
In Java, the "\u" is an escape sequence which tells the compiler that the following characters have a special meaning, the Unicode for some character.
The following two statements will display the same results: the word "CAT" in all uppercase. The first uses the Unicode values for the letters.
Note: For this assignment, you must use Unicode for the characters and not just paste the symbol in the println statement.
Note: It is important to remember that Codecheck just helps you get your code to work. It does not submit it for grading. You must download and submit the report for grading in the Canvas Assignment area. See Submission directions at the bottom of the page.
It is important that you name your class exactly as specified otherwise Codecheck will not be able to process your submission and you will get no credit.
If you use an IDE like Eclipse or Netbeans, do not include a package statement. Codecheck will not be able to process your submission and you will get no credit.
To test your draft, click on the draft link below. Copy and paste the code from Bluej into the textarea and click submit. If your code passes the test, Congratulations. If not, go back to Bluej, make any necessary changes, and repeat the process.
See the Submission directions at the bottom of the page.
Follow a similar process for the final version.
1B draft: LINK changed Aug 22
1B final:
1C
Below is the image of a crow. You are going to manipulate the image to make it bigger and change its location on the canvas.
crow.png
For this project, you will use the Horstmann graphics. It is a good idea to view the videos for this lesson to help you get started.
Download hw1c_crow_draft.zip which contains the graphics files you will need in this project. Unzip it into your cs46a/homework/hw01/draft folder.
If you use Windows, be sure to unzip correctly. If you do not know how, go a Google search or ask in Piazza.
Open the folder. Double click package.bluej to open the project. Your workbench will look similar to this.
If it does not look like this image, STOP. We need to get you straightened out. You should not see a red folder that says "go up" That means you have not unzipped correctly
Complete the Crow
class following these instructions. You will type code into the Crow class, not use the workbench.
new Picture("filename");
Here is the documentation for the grow method of the Picture class. You can use it to determine the arguments to specify for the amount to grow.
public void grow(double dw,
double dh)
Resizes this picture both horizontally and vertically.
Parameters:
dw - the amount by which to resize the width on each side
dw - the amount by which to resize the height on each side
For the draft, create the picture and draw it. Don't translate or grow it until the final version.
When you are ready to work on the final, copy the Bluej project (hw1b_crow_draft
) into the cs46a/homeworks/hw01/final
folder. Change the word draft to final. Open the project from Bluej and complete the assignment.
Submission
When you are finished with your code, submit it in Codecheck one final time. Notice at the bottom left there is a "Download" button. Click that and a .signed.zip file will be downloaded. That is the file you need to upload into Canvas.
When you are working on the draft, add the word "draft" to the end of the name, before .signed.zip after downloading. For example ArithmeticPrinter_draft.signed.zip. (Leave .signed.zip alone and do not add any extra dots)
When you are working on the final, add the word "final" to the end of the name, before .signed.zip. For example ArithmeticPrinter_final.signed.zip. This will help avoid submitting the wrong version.
Be sure to upload the .signed.zip file produced by Codecheck not the .java file you wrote. Do not open and alter the downloaded file in anyway. The files are digitally signed and the graders will check that they have not been altered.
For both the draft and the final, you will upload 3 signed.zip files. Upload all three programs at one time. Double check in Canvas that the files were uploaded
Warning: do not submit the final version as the draft. In order to be graded correctly, you must submit a program that does exactly what is specified for the draft - no more, no less.