Computer programming- II (CS 2300)
Java Lab Exercise #04
Student Name & Number
Lab Session - #05
Loops
Evaluation:
Date: Monday
2/3/2015 M, 11/5/1436 H.
Instructor: Maha & dhekra
Assignment Policy:
1.
2.
3.
4.
5.
6.
7.
Late assignments will NOT be accepted.
Cheating is forbidden in this course, and will be considered a -10 mark.
For any problem, you need to show steps for solving the problem and then show your
implementation (code).
In your code, comments have to be clearly written for each step and variable names should
have a clear meaning.
Your submitted work has to be neat and clean.
Assignments should be stapled or placed in an unsealed envelope.
Please clearly write your name, section number, and student number.
Substantial departures from the above guidelines will NOT be graded.
Q1: Predicating the Future Tuition
Problem: Suppose that the tuition for a university is $10,000 this year and tuition increases 7%
every year. In how many years will the tuition be doubled?
double tuition = 10000; int year = 1 // Year 1
tuition = tuition * 1.07; year++; // Year 2
tuition = tuition * 1.07; year++; // Year 3
tuition = tuition * 1.07; year++; // Year 4
...
Program
public class Q1{
public static void main(String args[]){
double tuition =10000;
int year=0;
while(tuition<20000){
tuition=tuition*1.07;
year++;
System.out.println("after "+year+" year\t, tuition= "+tuition );
}
System.out.println("----------------------------------------------");
System.out.println("tuition will be doubled in "+ year +" years");
System.out.println("----------------------------------------------");
}}
1
Computer programming- II (CS 2300)
Lab Session - #05
Q2: Finding the Greatest Common Divisor
Problem: Write a program that prompts the user to enter two positive integers and finds their
greatest common divisor.
Solution: Suppose you enter two integers 4 and 2, their greatest common divisor is 2. Suppose
you enter two integers 16 and 24, their greatest common divisor is 8. So, how do you find the
greatest common divisor? Let the two input integers be n1 and n2. You know number 1 is a
common divisor, but it may not be the greatest commons divisor. So you can check whether k
(for k = 2, 3, 4, and so on) is a common divisor for n1 and n2, until k is greater than n1 or n2.
Program
import java.util.Scanner;
public class Q2{
public static void main(String args[]){
Scanner input=new Scanner(System.in);
int n1,n2;
System.out.print("Enter the first num:");
n1=input.nextInt();
System.out.print("Enter the second num:");
n2=input.nextInt();
int k=1;
int maxDivisor=1;
while(k<=n1 && k<=n2)
{
if(n1%k==0 && n2%k==0)
maxDivisor=k;
k++;
}
System.out.println("----------------------------------------------");
System.out.println("Greatest Common Divisor= "+maxDivisor);
System.out.println("----------------------------------------------");
}
}
2
Computer programming- II (CS 2300)
Lab Session - #05
Q3: Displaying Prime Numbers
Problem: Write a program that displays the first 50 prime numbers in
five lines, each of which contains 10 numbers. An integer greater than
1 is prime if its only positive divisor is 1 or itself. For example, 2, 3, 5, and 7 are prime
numbers, but 4, 6, 8, and 9 are not.
Solution: The problem can be broken into the following tasks:
•For number = 2, 3, 4, 5, 6, ..., test whether the number is prime.
•Determine whether a given number is prime.
•Count the prime numbers.
•Print each prime number, and print 10 numbers per line.
Program
public class Q3{
public static void main(String args[]) {
int num = 2;
boolean isprime=true;
System.out.println("First 50 prime numbers are :-");
for ( int count = 1 ; count <=50 ; ) {
for ( int i = 2 ; i <= num/2 ; i++ ) {
if ( num%i == 0 )
{
isprime=false;
break;
}
}
if ( isprime )
{
if(count%10==0)
System.out.print(num+"\n");
else
System.out.print(num+"\t");
count++;
}
isprime = true;
num++;
}
}
}
3
Computer programming- II (CS 2300)
Lab Session - #05
Q4: How many times will the following code print “Tutorial Week 5” ?
a)
int counter=0;
while(++counter <5) {
System.out.println("Tutorial Week 5");
}
4 times
b)
int counter=0;
while(counter++ <5) {
System.out.println("Tutorial Week 5");
5 times
Q4: Write java program that print all multiples of 3 between 1 and 100 using for statements?
public class Q4{
public static void main(String[] args({
for (int i=1;i<=100;i++)
{
if (i%3==0(
System.out.println(i);
}
}
}
Q5: Write a java code that produce the following outputs using for loop?
a)
97531
for (int i = 9; i>=1; i--)
{ if (i%2!=0)
System.out.print(i+" ");}
OR:
for(int j = 9; j>=0; j-=2)
System.out.print(j+ " ");
b)
****4321
for (int k=8; k>=1;k--)
{ if (k>=5)
System.out.print("*");
else
System.out.print(k);}
4
Computer programming- II (CS 2300)
Lab Session - #05
c) A#B#C#D#E#F#G#
for (int i = 0; i<=6; i++)
{ System.out.print((char)('A'+ i));
System.out.print('#'); }
d)
1,2
2,4
3,6
4,8
5,10
6,12
for(int i=1;i<=6;i++)
System.out.println(i+","+i*2);
5