summary refs log tree commit diff stats
path: root/java/text/CylinderCalculations.typ
diff options
context:
space:
mode:
authorSudipto Mallick <>2024-01-02 02:12:16 +0000
committerSudipto Mallick <>2024-01-02 02:12:16 +0000
commita70e0a59817ce06a3dd23b3750ae16ee6660deaf (patch)
tree0843bf4d30edf22c9c4c27ff4887351c85993ccd /java/text/CylinderCalculations.typ
parent63c589e826829c5f47f95a5642531e02b2b2c8f7 (diff)
downloadzadania-a70e0a59817ce06a3dd23b3750ae16ee6660deaf.tar.gz
Add Java assignments to the repository
.gitignore: The build files, files left by editors like *~ and the PDF
documents for the assignments are to be ignored for the purposes of
version control.

README.rst: Rewrite, with one line description in Chinese.

java/alist.txt: List of assignments, sorted in the order of the list of
assignments, with the ones with completed documentation marked with `#`.

java/buildall: Script that will build all of the assignments into one
PDF file; to be rehauled for the final document.

code/*.java: The Java source code for the assignments.

dbld: Script that builds a PDF document for a single assignment.

index.typ: The list of assignments, subject to update for further
refinement and inclusion of yet more assignments.

jbld: Script that compiles code for a single Java assignment.

output/*.typ: Typst file containing the output (sessions) obtained from
running the individual Java assignments.

state.sql: Future alternative to `alist.txt`, under development.

template.typ: The Typst template used across all of assignment,
containing common code for the uniform styling, such as page border.

text/*.typ: Typst file documenting each Java assignment.

vendor/Java.sublime-syntax: Updated Sublime Text syntax file for Java,
used for newer syntax features, such as `var`, not yet available in
syntaxes shipped with Typst.

vendor/gr.tmTheme: A grayscale TextMate theme to be used for code in the
documents generated by Typst suitable for black and white printing.

wltd: Difference between the files in `code/` and `text/`, and `code/`
and `output`; need to be rewritten along with `state.sql`.
Diffstat (limited to 'java/text/CylinderCalculations.typ')
-rw-r--r--java/text/CylinderCalculations.typ34
1 files changed, 34 insertions, 0 deletions
diff --git a/java/text/CylinderCalculations.typ b/java/text/CylinderCalculations.typ
new file mode 100644
index 0000000..1ee8519
--- /dev/null
+++ b/java/text/CylinderCalculations.typ
@@ -0,0 +1,34 @@
+#import "/template.typ": *
+#show: A => apply(A)
+#set raw(lang: "java-new")
+#set par(leading: 0.5em)
+
+#assignment(6)[
+  Write a program to find the surface area and volume of a cylinder using constructor by taking keyboard input or command-line input.
+]
+
+#scos("CylinderCalculations")
+
+=== Discussion
+
+#skind[Classes, interfaces and methods used from Java standard library]
+
+- `java.lang.Double` class:
+  - `static double parseDouble(String)`: Try to parse the provided string as a `double` value.
+- `java.util.Scanner` class:
+  - `double nextDouble()`: Scan a `double` value from the the input stream.
+- `java.util.InputMismatchException` is thrown by the methods of `Scanner` class when encountering invalid input.
+- `java.lang.NumberFormatExeption` is thrown by `parseDouble` method when the provided string does not constitute a valid `double` value.
+  
+#skind[Classes and methods implemented in the program]
+
+- The `Cylinder` class objects represents a cylinder, a 3D geometric shape.
+  - Constructor `Cylinder(double, double)`: Create a cylinder object of the provided radius and height.
+  - `double volume()`: Returns the volume of the cylinder.
+  - `double surfaceArea()`: Returns the surface area of the cylinder.
+  - `void display()`: Display information about the cylinder.
+- The `CylinderCalculationsCLI` orchestrates a main program with:
+  - `public static void main(String[])`: Creates a cylinder object with its radius and height given as command-line arguments.
+- The `CylinderCalculationsScan` orchestrates a main program with:
+  - `public static void main(String[])`: Creates a cylinder object with its radius and height taken from user using `java.util.Scanner`.
+#signature()