Homework 3
We will use Java to do a few programming tasks. Here is an online Java IDE -- an editor that also lets you
run code right in the browser. At the top is the editor, below that is a Run button, and then below that the output.
You can edit the code in the editor and run it as many times as you want.
About Java:
- Most lines need to end in a semicolon, but loops do not.
- This is java, not our pseudocode, so some things we use in class, like prompt, are not available.
Between the previous homeworks and this one, I have provided examples of all the syntax you should need to be using.
About the Java IDE:
- You have to click Run again each time you want it to run your code to test changes.
- At top left there is a save (floppy) button! This page is pretty good but not perfect, so save often and don't lose your work!
- It WILL NOT SAVE your code if you close the browser, so you need to save!!!
- As you type, the editor tries to help by providing suggestions, but these pull from all of Java instead of
just from the tools we are using, so its suggestions may not be useful! You can turn this off using the settings (gears) button
at top right and unchecking Autocomplete at the bottom of the list, if it annoys you.
- If your output has the word error in it, java is telling you that you have a syntax error you need to fix.
It will try to tell you the line number, but sometimes an error in an earlier line can cause a problem that
doesn't show up til a later line.
About this assignment:
- The editor page starts off with example code in it. REPLACE the example code with the code in the assignment. This means to
DELETE ALL of the code in the editor, and then paste in my example code. ALL.
- When you do a different part, you will need to again REPLACE ALL of the code (you can open more tabs with copies of the IDE in your browser) so make sure you SAVE.
- Attach all your java files to a single submission in blackboard, not multiple submissions.
The following example code shows using loops in java.
// This code sets things up for a general java program with input
import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// done with setup, main code starts here
String secretWord = "swordfish";
// print and then read in a String from the user
System.out.println("Guess the word?");
String user = scan.next();
// while the user's word is not the same as the secret
// note .equals() for checking string equality in java
while (! user.equals(secretWord)) {
System.out.println("Wrong! Try Again");
user = scan.next();
}
System.out.println("You got it right!");
// a for loop to print numbers from 0 to 9
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
// nested for loops to print a grid of X's
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
System.out.print("X"); // print continues on the same line
}
System.out.println(); // println moves to a new line
}
// main code ends (still need the below two lines!!)
}
}
Do each in its own program:
- Test the users on their squares knowledge from 1*1 to 9*9 --
for each number from 1 to 9, ask the user for its square, and make them keep trying to guess it until they get it right, then congratulate them for getting it right.
-
Print a table of sums from 1+1 to 5+5 using one nested loop structure.
[EC +10] Also print headers on the rows and columns. The top header can be done in a separate loop. It might look like
---1---2---3---4---5
1| 2 3 4 5 6
2| 3 4 5 6 7
3| 4 5 6 7 8
4| 5 6 7 8 9
5| 6 7 8 9 10