From f92b7d8524abe595ad1e9dffa6e9bdccef2758dd Mon Sep 17 00:00:00 2001 From: AlexeiIachkov Date: Sun, 11 Feb 2024 14:42:32 -0800 Subject: [PATCH] Completed lab 004 --- README.md | 20 ++++++++++++++++---- src/RedesignDate.java | 21 +++++++++++++++++++++ src/Zippo.java | 22 +++++++++++----------- src/ping stack diagram.PNG | Bin 0 -> 11345 bytes src/zoop stack diagram.PNG | Bin 0 -> 10093 bytes 5 files changed, 48 insertions(+), 15 deletions(-) create mode 100644 src/RedesignDate.java create mode 100644 src/ping stack diagram.PNG create mode 100644 src/zoop stack diagram.PNG diff --git a/README.md b/README.md index 40c2bd8..d89d211 100644 --- a/README.md +++ b/README.md @@ -26,8 +26,13 @@ Review the flow of execution through the program [Zippo.java](src/Zippo.java), a **Questions to Answer In This README.md:** 1. Write the number 1 next to the first line of code in this program that will execute. 2. Write the number 2 next to the second line of code, and so on until the end of the program. -3. What is the value of the parameter `blimp` when `baffle` gets invoked? -4. What is the output of this program? +3. What is the value of the parameter `blimp` when `baffle` gets invoked? +- rattle +4. What is the output of this program? +- ik +- rattle +- ping zoop +- boo-wa-ha-ha --- @@ -43,7 +48,9 @@ Answer questions about stack diagrams and program output without running the pro 2. What is the output by the following program? * Paste your output in the bash code-block below. ```bash - +No, I wug. +You wugga wug. +I wug. ``` --- @@ -55,7 +62,9 @@ Explore method invocations and their consequences. **Questions to answer in the README.md via Markdown:** 1. What happens if you invoke a value method and don’t do anything with the result; that is, if you don’t assign it to a variable or use it as part of a larger expression? +- If you call a value method but don't assign the value in the method to a variable, the value will not be used. The program will still compile and run. 2. What happens if you use a void method as part of an expression? For example, try `System.out.println("boo!") + 7;`. +- Compilation error, method println does not return a value. --- @@ -71,7 +80,10 @@ Draw a stack diagram that shows the state of the program the second time `zoop` 2. What is the complete output? * Paste your output in the bash code-block below. ```bash - +just for +any not more +It's breakfast +! ``` ## Submission diff --git a/src/RedesignDate.java b/src/RedesignDate.java new file mode 100644 index 0000000..c0e9dcf --- /dev/null +++ b/src/RedesignDate.java @@ -0,0 +1,21 @@ +/** + * @author Trevor Hartman + * @author Alexei Iachkov + * @verison 1.0 + * @date 2-10-24 + */ + + public class RedesignDate { + public static void printAmerican(String day, int date, String month, int year) { + System.out.println(day + ", " + month + " " + date + ", " + year); + } + public static void printEuropean(String day, int date, int month, int year) { + System.out.println(day + ", " + date + "/" + month + "/" + year); + } + public static void main(String[] args) { + printAmerican("Saturday", 10, "February", 2024); + printEuropean("Saturday", 10, 2, 2024); + + } + + } diff --git a/src/Zippo.java b/src/Zippo.java index 04581a4..9c9753a 100644 --- a/src/Zippo.java +++ b/src/Zippo.java @@ -1,19 +1,19 @@ public class Zippo { - public static void baffle(String blimp) { - System.out.println(blimp); - zippo("ping", -5); + public static void baffle(String blimp) { //6 + System.out.println(blimp); //7 + zippo("ping", -5); //8 } - public static void zippo(String quince, int flag) { - if (flag < 0) { - System.out.println(quince + " zoop"); - } else { - System.out.println("ik"); - baffle(quince); - System.out.println("boo-wa-ha-ha"); + public static void zippo(String quince, int flag) { //2 + if (flag < 0) { //9 + System.out.println(quince + " zoop"); //10 + } else { //3 + System.out.println("ik"); //4 + baffle(quince); //5 + System.out.println("boo-wa-ha-ha"); //11 } } public static void main(String[] args) { zippo("rattle", 13); - } + } //1 } diff --git a/src/ping stack diagram.PNG b/src/ping stack diagram.PNG new file mode 100644 index 0000000000000000000000000000000000000000..6ffacb3447f058434b441cab0f55d64ed0e30f83 GIT binary patch literal 11345 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 Vr~4HCyp#dMy^~gws*o@a`9DtAtg8S3 literal 0 HcmV?d00001 diff --git a/src/zoop stack diagram.PNG b/src/zoop stack diagram.PNG new file mode 100644 index 0000000000000000000000000000000000000000..48968e938710d377b3920a9cc369778758dc27bf GIT binary patch literal 10093 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

^s946# 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