update,
This commit is contained in:
262
_resources/it114105/itp3914/Lab03/README.md.original
Normal file
262
_resources/it114105/itp3914/Lab03/README.md.original
Normal file
@@ -0,0 +1,262 @@
|
||||
# Lab 2 Variables and Arithmetic Operations
|
||||
|
||||
### Intended Learning Outcomes
|
||||
|
||||
Upon completion of this tutorial/lab, you should be able to:
|
||||
- Define variables with meaningful names.
|
||||
- Use arithmetic expressions and assignment statements to perform calculations.
|
||||
- Identify and fix syntax errors in Java programs.
|
||||
|
||||
## Exercise 1
|
||||
Identify whether the followings are valid or invalid identifiers.
|
||||
|
||||
| variable name | Valid | Invalid |
|
||||
| ------------- | ----- | ------- |
|
||||
| R2D2 | [x] | [] |
|
||||
| Watchamacallit | [x] | [] |
|
||||
| howAboutThis? | [] | [x] |
|
||||
| Java | [x] | [] |
|
||||
| GoodChoice | [x] | [] |
|
||||
| 12345 | [] | [x] |
|
||||
| 3CPO | [] | [x] |
|
||||
| This is okay | [] | [x] |
|
||||
| thisIsReallyokay | [x] | [] |
|
||||
| aPPlet | [x] | [] |
|
||||
| Bad-Choice | [] | [x] |
|
||||
| A12345 | [x] | []|
|
||||
|
||||
## Exercise 2
|
||||
Write down the output of the program fragments below.
|
||||
```
|
||||
double amount;
|
||||
amount = 20;
|
||||
System.out.println(amount – 8);
|
||||
|
||||
# Output: 12.0
|
||||
```
|
||||
|
||||
```
|
||||
int n=9;
|
||||
n+=1;
|
||||
System.out.println(n);
|
||||
System.out.println(n+1);
|
||||
|
||||
# Output:
|
||||
10
|
||||
11
|
||||
```
|
||||
|
||||
```
|
||||
int num=7;
|
||||
num = 9%num;
|
||||
System.out.println(num);
|
||||
|
||||
# Output: 2
|
||||
```
|
||||
|
||||
```
|
||||
int u, v;
|
||||
u = 5;
|
||||
v = u * u;
|
||||
System.out.println(u*v);
|
||||
|
||||
# Output: 125
|
||||
```
|
||||
|
||||
```
|
||||
double x=8;
|
||||
x += 5;
|
||||
System.out.println(x + 3 * x);
|
||||
|
||||
# Output: 52
|
||||
```
|
||||
|
||||
```
|
||||
double p=5.1, q=2.3;
|
||||
p += p;
|
||||
System.out.println(p + q);
|
||||
System.out.println(p – q);
|
||||
|
||||
# output:
|
||||
12.5
|
||||
7.9
|
||||
```
|
||||
|
||||
### Exercise 3
|
||||
Identify the errors in the following Java program fragments.
|
||||
|
||||
(a)
|
||||
```java
|
||||
// Question
|
||||
double a, b, c;
|
||||
a = 2;
|
||||
b = 3;
|
||||
a + b = c;
|
||||
System.out.println( 5((a + b) / (c + d);
|
||||
```
|
||||
```
|
||||
// Answer
|
||||
"a + b" = c;
|
||||
```
|
||||
* only a variable is allowed on the left hand side of an assignment statement
|
||||
```
|
||||
System.out.println( 5"*"((a + b) / (c + "d")"))";
|
||||
```
|
||||
* \* is expected between 5(
|
||||
* d was not declared
|
||||
* two ) were missed
|
||||
|
||||
|
||||
(b)
|
||||
```java
|
||||
// Question
|
||||
double balance, deposit;
|
||||
balance = 1,200.3;
|
||||
deposit = $140;
|
||||
System.out.println( balance + deposit );
|
||||
```
|
||||
|
||||
```
|
||||
// Answer
|
||||
balance = 1","200.3;
|
||||
```
|
||||
* comma is not allowed
|
||||
|
||||
```
|
||||
deposit = $140;
|
||||
```
|
||||
* $ is not allowed
|
||||
|
||||
(c)
|
||||
```java
|
||||
// Question
|
||||
double 6n;
|
||||
6n = 2 * 6n;
|
||||
```
|
||||
```
|
||||
// Answer
|
||||
double "6n";
|
||||
```
|
||||
* a variable name must start with a letter (not a digit)
|
||||
|
||||
## Exercise 4
|
||||
Write down the output of the program fragments below.
|
||||
```java
|
||||
String var;
|
||||
var = "Programming";
|
||||
System.out.print( var );
|
||||
var = "Networking";
|
||||
System.out.println( var );
|
||||
|
||||
// Output:
|
||||
ProgrammingNetworking
|
||||
```
|
||||
|
||||
```java
|
||||
System.out.println( "act" + "ion" );
|
||||
|
||||
// Output: action
|
||||
```
|
||||
|
||||
```java
|
||||
double var1 = 3;
|
||||
System.out.println( var1 + 5 );
|
||||
|
||||
// Output: 8.0
|
||||
```
|
||||
|
||||
```java
|
||||
System.out.println("The price is " + 30 + " dollars and " + 60 + " cents." );
|
||||
|
||||
// Output:
|
||||
The price is 30 dollars and 60 cents.
|
||||
```
|
||||
|
||||
## Exercise 5
|
||||
```java
|
||||
public class StringConcatenate {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
int number1 = 200;
|
||||
|
||||
int number2 = 8;
|
||||
|
||||
int number3 = 18;
|
||||
|
||||
System.out.println("Next year is " + number1 + number2);
|
||||
|
||||
System.out.println("My age is " + (number2 + number3));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Output:
|
||||
Next year is 2008
|
||||
My age is 26
|
||||
```
|
||||
|
||||
## Exercise 6
|
||||
|
||||
```java
|
||||
public class IncrementDecrement {
|
||||
public static void main( String[] args ) {
|
||||
int a, x;
|
||||
a = 10;
|
||||
x = a++;
|
||||
System.out.println( "a=" + a );
|
||||
System.out.println( "x=" + x );
|
||||
x = ++a;
|
||||
System.out.println( "a=" + a );
|
||||
System.out.println( "x=" + x );
|
||||
}
|
||||
}
|
||||
|
||||
// Output:
|
||||
11
|
||||
10
|
||||
12
|
||||
12
|
||||
```
|
||||
## Exercise 7
|
||||
Can the following conversions involving casting be allowed? If so, find the converted result, that is, the value stored in variable $i$.
|
||||
|
||||
```java
|
||||
char c = 'A';
|
||||
int i = int (c);
|
||||
|
||||
// not allowed
|
||||
```
|
||||
|
||||
```java
|
||||
double d = 1000.74;
|
||||
int i = (int) d;
|
||||
// allowed, 1000
|
||||
```
|
||||
|
||||
```java
|
||||
boolean b = true;
|
||||
int i = (int) b;
|
||||
|
||||
// not allowed
|
||||
```
|
||||
|
||||
## Exercise 8
|
||||
PROBLEM: Calculate the volume of a cylinder (with console I/O)
|
||||
|
||||
Write a Java program that computes the volume ($v$) of a cylinder. The program should use Scanner class to read the radius ($r$) and the length ($l$), and compute the volume ($v$) with the formula: $v = r^2\pi l$.
|
||||
|
||||
Test Case
|
||||
| | Case 1 | Case 2 | Case 3 |
|
||||
| - | - | - | - |
|
||||
| $r$ | 4 | 6 | 8 |
|
||||
| $l$ | 5 | 7 | 9 |
|
||||
| $v=$ | 251/3274 | 791.6813 | 1809.5574 |
|
||||
|
||||
```
|
||||
c:\> java Ex8
|
||||
Enter r : 8
|
||||
Enter l : 9
|
||||
v = 1809.5574
|
||||
```
|
Reference in New Issue
Block a user