This commit is contained in:
louiscklaw
2025-01-31 19:15:17 +08:00
parent 09adae8c8e
commit 6c60a73f30
1546 changed files with 286918 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
import java.util.*;
public class Ex3 {
public static void main(String [] args) {
Scanner kb = new Scanner(System.in);
System.out.print("? ");
int num = kb.nextInt();
countDown(num);
}
public static void countDown(int num) {
for (int i = num; i > 0; i--)
System.out.print(i + " ");
System.out.println();
}
}

View File

@@ -0,0 +1,17 @@
import java.util.Scanner;
public class Ex4 {
public static void main(String [] args) {
Scanner kb = new Scanner(System.in);
System.out.print("Your age? ");
int manAge = kb.nextInt();
int wifeAge;
// call idealAge() with manAge as argument
wifeAge = idealAge(manAge);
System.out.println("Ideal age of wife = " + wifeAge);
}
public static int idealAge(int age) {
return ( age / 2) + 7;
}
}

View File

@@ -0,0 +1,18 @@
import java.util.Scanner;
public class Ex5 {
public static void main(String [] args) {
Scanner kb = new Scanner(System.in);
System.out.print("? ");
int num = kb.nextInt();
if (isDivisibleBy7(num)) // call isDivisibleBy7() with num as argument
System.out.println(num + " is divisible by 7");
else
System.out.println(num + " is not divisible by 7");
}
public static boolean isDivisibleBy7(int num) {
return num %7 == 0;
}
}

View File

@@ -0,0 +1,24 @@
import java.util.Scanner;
public class Ex6 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double a, b, c;
System.out.print("a? ");
a = input.nextDouble();
System.out.print("b? ");
b = input.nextDouble();
System.out.print("c? ");
c = input.nextDouble();
if(isRightAngledTriangle(a, b, c))
System.out.println("It is a right-angled triangle");
else
System.out.println("It is not a right-angled triangle");
}
public static boolean isRightAngledTriangle(double a, double b, double c){
return (a*a + b*b) == (c*c);
}
}

View File

@@ -0,0 +1,23 @@
import java.util.Scanner;
public class Ex7 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("? ");
int num = input.nextInt();
if(isPrime(num))
System.out.printf("%d is a prime number\n", num);
else
System.out.printf("%d is not a prime number\n", num);
}
public static boolean isPrime(int num) {
if(num==2)
return true;
for (int i = 2; i < num; i++){
if (num%i == 0)
return false;
}
return true;
}
}

View File

@@ -0,0 +1,321 @@
# Lab 9 Methods and Parameter Passing
## Topic 3: Basic Program Structures
## Exercise 1
Show the output of the following programs.
(a)
```java
public class Q1a {
public static void main( String[] args ) {
question();
answer();
}
public static void answer() {
System.out.println("javac.exe");
}
public static void question() {
System.out.println("What is the command to compile a Java program?");
}
}
// Output:
What is the command to compile a Java program?
javac.exe
```
(b)
```java
public class Q1b {
public static void main( String[] args ) {
firstName("Peter");
}
public static void firstName( String Name ) {
System.out.println("Call me " + Name + "." );
}
}
// Output:
Call me Peter.
```
(c)
```java
public class Q1c {
public static void main( String[] args ) {
potato( 1 );
potato( 2 );
potato( 3 );
}
public static void potato( int Quantity ) {
System.out.println(Quantity + " potato");
}
}
// Output:
1 potato
2 potato
3 potato
```
(d)
```java
public class Q1d {
public static void main( String[] args ) {
characterType( 'A' );
characterType( 'z' );
characterType( '5' );
}
public static void characterType( char ch ) {
System.out.print( "'" + ch + "' is a " );
if ( ( ch >= 'A' ) && ( ch <= 'Z' ) )
System.out.println( "upper-case letter." );
else if ( ( ch >= 'a' ) && ( ch <= 'z' ) )
System.out.println( "lower-case letter." );
else if ( ( ch >= '0' ) && ( ch <= '9' ) )
System.out.println( "digit." );
}
}
// Output:
'A' is a upper-case letter.
'z' is a lower-case letter.
'5' is a digit.
```
## Exercise 2
Show the output of the following programs.
(a)
```java
public class Q2a {
public static void main( String[] args ) {
double acres = 5;
System.out.println( "You can park about " + cars(acres)+ " cars." );
}
public static double cars( double x ) {
return 100 * x;
}
}
// Output:
You can park about 500 cars.
```
(b)
```java
public class Q2b {
public static void main( String[] args ) {
double r = 1; // Radius of the base of a cylinder
double h = 2; // Height of a cylinder
displayVolume( r, h );
r = 3;
h = 4;
displayVolume( r, h );
}
public static double getArea( double r ) {
return 3.14159 * r * r;
}
public static void displayVolume( double r, double h ) {
double area = getArea(r);
System.out.println("Volume of cylinder having base area " + area +
" and height " + h + " is " + ( h * area ) + "." );
}
}
// Output:
Volume of cylinder having base area 3.14159 and height 2.0 is 6.28318.
Volume of cylinder having base area 28.274309999999996 and height 4.0 is 113.09723999999999.
```
(c)
```java
public class Q2c {
public static void main( String[] args ) {
double maxResult = max4( 2.3, 4.9, -5.1, 0.0 );
System.out.println( "The maximum is " + maxResult);
}
public static double max2( double a, double b ) {
return ( a > b ) ? a : b;
}
public static double max4( double a, double b, double c, double d ) {
return max2( max2( a, b ), max2( c, d ) );
}
}
// Output:
The maximum is 4.9
```
(d)
```java
import java.util.*;
public class Q2d {
public static void main(String [] args) {
Scanner kb = new Scanner(System.in);
int street;
System.out.print("Street number? ");
street = kb.nextInt();
if (isEven(street))
System.out.println("East-bound");
else
System.out.println("West-bound");
}
public static boolean isEven( int num ) {
return num%2 == 0;
}
}
// Output:
Street number? 1
West-bound
```
## Exercise 3
Complete the method `countDown()` in the program below. The program allows the users to enter an integer value and prints the counting down of the integer. Example executions are shown below. User inputs are underline.
```
c:\> java Ex3
? _3_
3 2 1
```
```
c:\> java Ex3
? _5_
5 4 3 2 1
```
```java
import java.util.*;
public class Ex3 {
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
System.out.print("? ");
int num = kb.nextInt();
countDown(num);
}
public static ________ countDown(_____________) {
___ missing codes ____
}
}
```
## Exercise 4
**Ideal Age of Wife**: According to Plato, a man should marry a woman whose age is half his age plus seven years. Write a Java program that requests a mans age as input. The `main()` method then calls a method `idealAge()`, passing the mans age as argument. The method then returns to the ideal age of his wife for the `main()` method to print on the screen. The program skeleton is shown below.
```java
import java.util.Scanner;
public class Ex4 {
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
System.out.print("Your age? ");
int manAge = kb.nextInt();
int wifeAge;
// call idealAge() with manAge as argument
System.out.println("Ideal age of wife = " + wifeAge);
}
public static _______ idealAge(____________) {
___ missing codes ____
}
}
```
```
c:\> java Ex4
Your age? _18_
Ideal age of wife = 16
```
## Exercise 5
Write a Java program to let users enter an integer. The integer is then passed to a `boolean` method as argument. The method checks if the integer is divisible by 7. Return `true` if so, and `false` otherwise. Test you method by developing a complete Java program and calling the method from `main()`.
```java
import java.util.Scanner;
public class Ex5 {
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
System.out.print("? ");
int num = kb.nextInt();
if (________________) // call isDivisibleBy7() with num as argument
System.out.println(num + " is divisible by 7");
else
System.out.println(num + " is not divisible by 7");
}
public static __________ isDivisibleBy7(___________) {
___ missing codes ____
}
}
```
```
c:\> java Ex5
? _21_
21 is divisible by 7
```
## Exercise 6
Write a Java program to let users enter the three sides of a triangle. The three sides are then passed to a `boolean` method as argument. The method checks if it the triangle is right-angled by using the Pythagorean Theorem $a^2 + b^2 = c^2$. Test you method by developing a complete Java program and calling the method from `main()`.
```
c:\> java Ex6
a ? _3_
b ? _4_
c ? _5_
It is a right-angled triangle
```
```
c:\> java Ex6
a ? _3_
b ? _3_
c ? _4_
It is not a right-angled triangle
```
## Exercise 7
In Lab 8 Exercise 5 (b), you have developed a Java program to print 20 prime numbers on screen. You are now required to enhance the functionality of the program.
- Move the program logic for checking whether a number is prime to a `boolean` method `isPrime()`. The method receives the integer to be checked as a parameter.
- Modify the program so that users are allowed to enter the integer to be checked during runtime.
- NOTE: The new program does not need to find 20 prime numbers, thus the program logic is much more simple.
Example executions are shown below. User inputs are highlighted in underline.
```
c:\> java Ex7
? _6_
6 is not a prime number
```
```
c:\> java Ex7
? _11_
11 is a prime number
```