Sei sulla pagina 1di 65

OBJECT ORIENTED PROGRAMMING THROUGH JAVA - I

JAVA PHASE 1 PROGRAMS

Task 1
Your first task is to read the user's name and print it as "Hello <<username>>. Welcome!". Eg: If user's name is Surya; you should be displaying "Hello Surya. Welcome!"

// This program read the input from user import java.io.*; class Read { public static void main(String[] args) throws IOException{ InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); //To read the user name System.out.println("Enter the user name"); String name=br.readLine(); System.out.println("Hello "+name); } }

Task 1 Output Module 1 Introduction to Java

www.esnips.com/user/vapremaims

Page 1

Section 2 Data Types and Operators


Module 1 Tasks Task 1
Try compiling and running the following code snippets and report on the output and the reason for the output (in .doc or .txt file)
Code snippet 1: int num=2147483647; System.out.println("The number is "+num); num=num+1; System.out.println("The number is "+num); Code snippet 2: float num; System.out.println(num=20); Code snippet 3: int age=24.3; System.out.println("The age is "+age); What can be done to overcome this issue?

class Task1a { public static void main(String args[]) { int num=2147483647; System.out.println("The number is "+num); num=num+1; System.out.println("The number is "+num); } } Task 1 Output Module 1 Section 2 Data Types and Operators

www.esnips.com/user/vapremaims

Page 2

Code snippet 2: float num; System.out.println(num=20);

class Task1c { public static void main(String args[]) { float num; System.out.println(num=20); } } Task 2 Module 1 Section 2

Code snippet 3: int age=24.3; System.out.println("The age is "+age); What can be done to overcome this issue?

class Task1d { public static void main(String args []) { int age=24.3; // this is an error System.out.println("The age is "+age); } }

www.esnips.com/user/vapremaims

Page 3

Output

Report on OverCome Issue This code is not compiled because here floating type value assigned integer variable age so it has given error. To overcome this problem age must be declared as float type (or) integer value is assigned to int type age.

Task 2
You have to extend your first program (Hello world program in previous section) and read in the age and credit card number of the user and print them to the screen. You should store the age and credit card number in appropriate data types.

// To read age and credit number and print in appropriate datatypes import java.io.*; class Credit { public static void main(String args[]) throws IOException { InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); System.out.println("Enter age:"); int age=Integer.parseInt(br.readLine()); System.out.println("Enter credit card number:"); int creditno=Integer.parseInt(br.readLine()); System.out.println("Age: "+age);

www.esnips.com/user/vapremaims

Page 4

System.out.println("Credit card number is:"+creditno); } }

Task 2 Module 1 Section 2 Data Types and Operators

www.esnips.com/user/vapremaims

Page 5

Module 2

Task 1
Once you have perused the reading material, you can now work on the following task. You will need to provide the output of the following code snippets.
int i=10; System.out.println(i++ +"::"+ ++i); int j=20; int k=30; int l=40; int m=50; int n=60; System.out.println(j+k-l/m*n); boolean result=true; System.out.println(result!=false);

class Module2Task1 { public static void main(String args[]) { int i=10; System.out.println(i++ +"::"+ ++i); //it will print as 10 :: 12

int j=20; int k=30; int l=40; int m=50; int n=60; System.out.println(j+k-l/m*n);// it will print as 50 boolean result=true; System.out.println(result!=false);// it will print as true }
www.esnips.com/user/vapremaims Page 6

Task 1 Module 2 Section 2 Data Types and Operators

Task 2
You are supposed to find out the area of a circle. You have to read the radius from the user and print the area.
Hint: Area of circle = pi*radius*radius pi=22/7 is a constant Note: We can define constants in Java using the keyword final which you will be introduced to later.

//Area of the circle import java.io.*; class Module2Task2 {public static void main(String args[]) throws IOException { InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); double r; double area; double pi;

www.esnips.com/user/vapremaims

Page 7

pi=22.0/7.0; System.out.println("Enter the area of circle:"); r=Float.parseFloat(br.readLine()); area=pi*r*r; System.out.println("Area of circle=" +area); } }

Task 2 Output Module 2 Section 2 Data Types and Operators

www.esnips.com/user/vapremaims

Page 8

Section 3 Control Statements in Java Module 1

Task 1
Raju's parents are celebrating their marriage anniversary. They have arranged a small party tonight. They are expecting their colleagues and Raju's friends to attend the party. They have planned to serve 'Coke' and 'Badam Milk' to these guests. But they would like to serve 'Badam Milk' to teenagers and 'Coke' to adults. Please help them in finding teenagers and adults based on age. Write a Java program to find out the adults and teenagers based on their age. Note: Teenagers are those whose age is between 13 and 19 (both inclusive).
Step by Step guide

Read the age as input from the user Check the age with the conditions mentioned Display the appropriate messages (Eg: Adult or Teenager) and also a message regarding the drink (Eg: Badam Milk or Coke)

Note: We can come with a condition where some guests are neither teenagers nor adults. What do we do then? Just serve them water and call them Children :-)

//Finding a guest whether guest is adult or teenager or children depending on the age import java.io.*; class Teenage {public static void main(String args[]) throws IOException { InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); System.out.println("Enter guest age:"); int age=Integer.parseInt(br.readLine());
www.esnips.com/user/vapremaims Page 9

if(age>=13&&age<=19) { System.out.println("Guest is TEENAGER, serve BADAM MILK"); } else if(age>19) { System.out.println("Guest is ADULT, Serve COKE"); } else System.out.println("Guest is children, serve water"); } } Task 1 Output Module 1 Section 3 Control Statements in Java

www.esnips.com/user/vapremaims

Page 10

Task 2
Your college management is planning to conduct a cricket tournament as part of their college fest and have planned to arrange a digital score board. This digital score board should display greetings/message based on the batsman's score. If the batsman's score is:

>=100 - Message should be displayed "Congratulations on your magnificent century" 80 - 99 - Message should be displayed "If you had played carefully, you would have seen another milestone in your career" 70 - 79 - Message should be displayed "Good performance, keep it up" 50 - 69 - Message should be displayed "Well played" 10 - 49 - Message should be displayed "Nicely Played but bad luck..." 0 - 9 - Message should be displayed "Oops! hard luck"

//Displaying cricket score board messages depending on the bats man performance

import java.io.*; class Zerotask {public static void main(String args[]) throws IOException { InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); System.out.println("Enter batsman score:"); int score=Integer.parseInt(br.readLine()); if(score>=100) System.out.println("Congratulations on your magnificent century"); else if(score>=80&&score<=99) System.out.println("If you had played carefully, you would have seen another milestone in your career"); else if(score>=70&&score<=79) System.out.println("Good performance, keep it up");

www.esnips.com/user/vapremaims

Page 11

else if(score>=50&&score<=69) System.out.println("Well played" ); else if(score>=10&&score<=49)

System.out.println("Nicely Played but bad luck..." ); else System.out.println("Oops! hard luck" ); } }

Task 2 Output Module 1 Section 3 Control Statements in Java

www.esnips.com/user/vapremaims

Page 12

Additional Task 1
Task 1
Soumit has provided you with three numbers and wants you to find out the largest of these three. Write a program to help him out.

//Finding the largest number of the given three numbers import java.io.*; class Additionaltask {public static void main(String args[]) throws IOException { InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); System.out.println("Enter number1:"); int n1=Integer.parseInt(br.readLine()); System.out.println("Enter number2:"); int n2=Integer.parseInt(br.readLine()); System.out.println("Enter number3:"); int n3=Integer.parseInt(br.readLine()); if(n1>n2&&n1>n3) System.out.println("n1 is larger:" +n1); else if(n2>n1&&n2>n3) System.out.println("n2 is larger:" +n2); else System.out.println("n3 is larger:" +n3);

www.esnips.com/user/vapremaims

Page 13

} }

Additional Task Output Module 1 Section 3 Control Statementsn in Java

www.esnips.com/user/vapremaims

Page 14

Module 2 Section 3 Control Statements in Java Module 2

Task 1
Samar your friend has an interesting task for you. He has with him a list of student marks (all marks are out of 100). He now wants to convert these marks from number to word format (i.e. 56 in number format is Fifty six in word format). He knows that you have knowledge of conditional statements and he has approached you to help him. So, now you work on designing a Java program that will help Samar. For simplicity sake, lets assume the following:

Samar enters the marks (in numbers) All marks are integer values only No student gets negative marks No student gets more than 100 marks

import java.io.*; class Marks {public static void main(String args[]) throws IOException { InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); System.out.println("Enter student marks:"); int m=Integer.parseInt(br.readLine()); if(m==0)
www.esnips.com/user/vapremaims Page 15

System.out.println("Zero"); else if(m==1) System.out.println("one"); else if(m==2) System.out.println("two"); else if(m==3) System.out.println("three"); else if(m==4) System.out.println("four"); else if(m==5) System.out.println("five"); else if(m==6) System.out.println("six"); else if(m==7) System.out.println("seven"); else if(m==8) System.out.println("eight"); else if(m==9) System.out.println("nine"); else if(m==10) System.out.println("ten"); else if(m==11) System.out.println("eleven"); else if(m==12) System.out.println("twelve");
www.esnips.com/user/vapremaims Page 16

else if(m==13) System.out.println("thirteen"); else if(m==14) System.out.println("fourteen"); else if(m==15) System.out.println("fifteen"); else if(m==16) System.out.println("sixteen"); else if(m==17) System.out.println("seventeen"); else if(m==18) System.out.println("Eighteen"); else if(m==19) System.out.println("Ninteen"); else if(m==20) System.out.println("twenty"); else if(m==100) System.out.println("hundread"); else{ int x=m/10; switch(x) { case 2:System.out.print("Twenty"); break; case 3:System.out.print("Thirty");
www.esnips.com/user/vapremaims Page 17

break; case 4:System.out.print("Fourty"); break; case 5:System.out.print("fifty"); break; case 6:System.out.print("Sixty"); break; case 7:System.out.print("seventy"); break; case 8:System.out.print("eighty"); break; case 9:System.out.print("Ninty"); break; }

int y=m%10; switch(y) {case 1:System.out.print(" one"); break; case 2:System.out.print(" two"); break; case 3:System.out.print(" three"); break; case 4:System.out.print(" four"); break;
www.esnips.com/user/vapremaims Page 18

case 5:System.out.print(" five"); break; case 6:System.out.print(" six"); break; case 7:System.out.print(" seven"); break; case 8:System.out.print(" eight"); break; case 9:System.out.println(" nine"); break; } } } }

Task 1 Output Module 2 Section 3 Control Statements in Java

www.esnips.com/user/vapremaims

Page 19

Task 2
You need to implement the calculator functionality in Java. You will need to give an option for the user to perform different functions like "Addition", "Subtraction", "Multiplication" and "Division". Please note that the user will be able to perform only one operation from the above mentioned operations. Hint: Use switch-case and if-then-else conditions In the next module you will be introduced to "Loops" wherein you will learn how to perform repetitive operations. So, save this program in a location from where you can retrieve it later. import java.io.*; class Calculator {public static void main(String args[]) throws IOException { InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); System.out.println("1.ADDITION"); System.out.println("2.SUBTRACTION"); System.out.println("3.MULTPLICATION"); System.out.println("4.DIVISION"); System.out.println("Enter your choice"); int c=Integer.parseInt(br.readLine()); System.out.println("Enter the value of a:"); int a=Integer.parseInt(br.readLine()); System.out.println("Enter the value of b:"); int b=Integer.parseInt(br.readLine()); int d; switch(c) { case 1: d=a+b; System.out.println("Addition is:"+d); break;
www.esnips.com/user/vapremaims Page 20

case 2: d=a-b; System.out.println("Subtraction:"+d); break; case 3: d=a*b; System.out.println("Multiplication:"+d); break; case 4: d=a/b; System.out.println("Division:"+d); break; default: System.out.println("Invalid choice"); break; } } } Task 2 Output Module 2 Section 3 Control Statements in Java

www.esnips.com/user/vapremaims

Page 21

Module 3 Section 3
Task 1
Write a program that prints the first 50 UGLY numbers. Note: Ugly numbers are numbers whose only prime factors are 2, 3 or 5. For example 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, are ugly numbers. By convention, 1 is considered as an ugly number. You can use any one of the iterative statements

class Ugly { public static void main(String[] args) { int c=0; int i=1; System.out.println("1"); while(c<=50) { if(i%2==0||i%3==0||i%5==0) { System.out.println(i ); c=c+1; }

i=i+1; } } }

www.esnips.com/user/vapremaims

Page 22

Task 1 Output Module 3 Section 3 Control Statements in Java

www.esnips.com/user/vapremaims

Page 23

Additional Tasks
Write a program to print the multiplication table (till 20) of a given number.
Eg: If number is 2 Output should be: 2*1 = 2 2*2 = 4 . . . 2*20 =40

import java.io.*; class Multi { public static void main(String args[]) throws IOException { InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); System.out.println("Enter number;"); int n=Integer.parseInt(br.readLine()); int i=1; int r; while(i<=20) { r=n*i; System.out.println(n+ "*" +i +"=" +r); i=i+1; } } }
www.esnips.com/user/vapremaims Page 24

Additional Task Output Module 3 Sectio 3 Control Statements in Java

www.esnips.com/user/vapremaims

Page 25

Module 4 Section 3 Control Statements in Java

Task 1
Write a calculator program using switch-case (you can use the already designed program in the previous section). The program should provide 4 operations - add, subtract, multiply and divide - and ask the user to select an option. The program should perform the operation selected by user and display the result. If user selects an option other than the options specified, a default error message should be displayed that the option selected does not exist. The program should take in user input till the user types in 'q' as an option.[Once user types in 'q', the program should quit].

import java.io.*; class Cal2 { public static void main(String args[]) throws IOException { int c; InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); do { System.out.println("1.ADDITION"); System.out.println("2.SUBTRACTION"); System.out.println("3.MULTPLICATION"); System.out.println("4.DIVISION"); System.out.println("5.EXIT"); System.out.println("Enter your choice"); c=Integer.parseInt(br.readLine());
www.esnips.com/user/vapremaims Page 26

System.out.println("Enter the value of a:"); int a=Integer.parseInt(br.readLine()); System.out.println("Enter the value of b:"); int b=Integer.parseInt(br.readLine()); int d; switch(c) { case 1: d=a+b; System.out.println("Addition is:"+d); break; case 2: d=a-b; System.out.println("Subtraction:"+d); break; case 3: d=a*b; System.out.println("Multiplication:"+d); break; case 4: d=a/b; System.out.println("Division:"+d); break; case 5:break; default: System.out.println("Invalid choice"); break; } }while(c!=5); } }

www.esnips.com/user/vapremaims

Page 27

Task 1 Output Module 4 Section 3 Control Statements in Java

www.esnips.com/user/vapremaims

Page 28

Task 2
Samar again comes to you with a problem. Problem statement: My teacher has asked me come with a list of numbers that are the sum of their own digits to the power of the number of digits. I am totally clueless on how to proceed. To make things easy, my teacher has provided me with an example of such a number.
Eg1 : Lets consider the number 153 Number of digits in 153 is 3 We can see that 153 = 13 + 53 + 33 Thus 153 is one such number that is the sum of its own digits to the power of the number of digits. Eg2: Lets consider the number 1634. Number of digits is 4 We can see that 1634 = 14 + 64 + 34 + 44 Thus 1634 is one such a number that is the sum of its own digits to the power of the number of digits.

My teacher has also told me that such numbers are referred to as Armstrong numbers. I am supposed to come with the list of all such numbers below 1,000,000. Boss! please help me.

import java.io.*; class Teach { public static void main(String args[]) throws IOException { InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); System.out.println("Enter the number:"); int n=Integer.parseInt(br.readLine()); int a; a=n; int c=0; while(n>0)

www.esnips.com/user/vapremaims

Page 29

{ n=n/10; c=c+1; } System.out.println("The no of digits in the given number:"+c); int sum=0; int p=1; int b; while(a>0) { b=a%10; p=1; int i=1; while(i<=c) { p=p*b; i=i+1; } sum=sum+p; a=a/10; } System.out.println("The Result: "+sum); } }

www.esnips.com/user/vapremaims

Page 30

Task 2 Output Module 4 Section 3 Control Statements in Java

www.esnips.com/user/vapremaims

Page 31

Additional Tasks 1
Write a program to find out all the leap years between 1947 and 2050.

class Addi1 { public static void main(String args[]) { int l=1947; int u=2050; while(l<=u) { if(l%4==0) { System.out.println(l + " Is a leap year"); } l=l+1; } } }

www.esnips.com/user/vapremaims

Page 32

Additional Task1 Output Module 4 Section 3 Control Statements in Java

www.esnips.com/user/vapremaims

Page 33

Additional Tasks 2
Write a program to find out the factorial of a number. Factorial of a number is the product of all numbers less than and equal to that number.
Eg: Factorial of 5 = 5*4*3*2*1 = 120

import java.io.*; class Addi2 { public static void main(String args[]) throws IOException { InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); System.out.println("Enter the number"); int n=Integer.parseInt(br.readLine()); int i=1; int fact=1;

while(i<=n) { fact=fact*i; i=i+1; } System.out.println("Factorial "+fact); } }

www.esnips.com/user/vapremaims

Page 34

Additional Task 2 Output Module 3 Control Statements in Java

www.esnips.com/user/vapremaims

Page 35

Object Oriented Programming Section 4


Module 1
Task 1
Your old friend who is working in the admissions department of your college comes to you with a problem. ProblemStatement: I am in charge for the students admissions every year. I now want to computerise this admission process and want you to help me in this regard. Create an application that would allow me to do the following:

Create a student record Display the student record Remove the student record

Consider only the student's name and age when creating a student record (for now). Note: You will be creating only one student record in this case. In the next section, you will know how to create more records (an array of records/objects).

import java.io.*; import java.util.*; class Student1 { String Sname; String Grp; String Sex; String Age; Student1()throws IOException { BufferedReaderbr= new BufferedReader(new InputStreamReader(System.in)); System.out.print("\nEnter Student name : "); Sname=br.readLine();

www.esnips.com/user/vapremaims

Page 36

System.out.print("\nEnter Grp : "); Grp=br.readLine(); System.out.print("\nEnter Sex : "); Sex=br.readLine(); System.out.print("\nEnter Age : "); Age=br.readLine(); } public void disdetails() { System.out.println("Student Name:"+Sname); System.out.println("Student Grp:"+Grp); System.out.println("Student Sex:"+Sex); System.out.println("Student Age:"+Age); } public void removedetails() { } } class Student { public static void main(String[] args) throws IOException { Student1 s=new Student1(); s.disdetails(); s.removedetails(); }
www.esnips.com/user/vapremaims Page 37

} Task 1 Output Module 1 Section 4 OOPS - I

www.esnips.com/user/vapremaims

Page 38

Task 2
In this task, we will introduce you to the Java API (Please right click on this link and open in a new window/tab). You can see that the Java API contains all the classes available in the Java language. The API gives you a snapshot of the classes and the methods in them. Your task is to generate a list of 10 random numbers and print them. Hint: Which class in the API would you use to generate the random numbers? We have provided you a hint in the question itself :-)

import java.util.*; public class RandomNumberGenerator { public static void main(String[] args) { Random rand = new Random (1); for(int i=0; i<10; i++) { System.out.println(rand.nextInt()); } } }

Task 2 Output Module 1 Section 4 OOPS - I

www.esnips.com/user/vapremaims

Page 39

Module 2 Section 4 Object Oriented Programming Phase 1

Task 1
Create a class Clock that has the following attributes:

Hour (integer) Minutes (integer) Seconds (integer) isAM (boolean) - true if time is before 12:00 Noon and false if time is after 12:00 Noon

These attributes are represented by data fields. Class Clock should contain the following constructors:

no parameters (sets clock to midnight) all attributes specified (hour, minute, second, isAM)

Class Clock supports the following public methods:


getHours() - returns the Hours getMinutes() - returns the Minutes getSeconds() - returns the Seconds getIsAM() - returns AM status

Class Clock also supports a setTime() method that reads all four attributes from user. Note: Take the following into consideration

The time is in 12 hour format (So isAM needs to be taken from user). The user may or may not set the time at runtime (i.e. user may or may not enter argument values) o In this case the setTime() method should be invoked to read the time.

www.esnips.com/user/vapremaims

Page 40

Additional Tasks

Task 1
Implement the complex number class. At a minimum it should have a constructor,and methods to add, subtract, and multiply two complex numbers, and to return the real and imaginary parts. (complex number = x + iy) Hint: Ask user to input real and imaginary part individually For example: Suppose the two imaginary numbers are 2+5i and 6-3i, you should be taking input as follows Enter the real part of the first number (a): 2 Enter the imaginary part of the first number (b): 5 Enter the real part of the second number (c): 6 Enter the imaginary part of the second number (d): -3 Now perform addition, subtraction and multiplication operations on these two complex numbers.

public class Complex { int x; int y; public Complex (int x, int y) { this.x = x; this.y = y; } public Complex(){ } public Complex addComplex(Complex a) { Complex c = new Complex(); c.x = this.x + a.x;
www.esnips.com/user/vapremaims Page 41

c.y = this.y + a.y; return c; } public Complex subtractComplex(Complex a) { Complex c = new Complex(); c.x = this.x - a.x; c.y = this.y - a.y; return c; } public Complex multiplyComplex(Complex b){ Complex c = new Complex(); c.x = this.x * b.x - this.y * b.y; c.y = this.x * b.y + this.y * b.x; return c; } public void printComplex(){ System.out.println(this.x+" i "+this.y); } public static void main(String[] args) { Complex a = new Complex(5,4); Complex b = new Complex(5,3); Complex c=a.addComplex(b); c.printComplex(); c=a.subtractComplex(b); c.printComplex(); c=a.multiplyComplex(b); c.printComplex();
www.esnips.com/user/vapremaims Page 42

} }

Additional Task OutputModule 2 Section 4 OOPS - I

www.esnips.com/user/vapremaims

Page 43

Section 5 Java Coding Standards Module 1

No Tasks in this Module

www.esnips.com/user/vapremaims

Page 44

Section 6 Arrays in Java OOPS JAVA Phase 1


Module 1

Task 1
Write a program to generate 10 random numbers and store it in a array. Display the maximum and minimum numbers in the array.

Note: You have worked on generating the random numbers. you can use the same program

import java.util.*; class Task1 { public static void main(String args[]) {int i=0; int a[]=new int[11]; Random r=new Random(); System.out.println("the 10 random numbers are"); while(i<10) { a[i]=(r.nextInt(100)); System.out.println(+a[i]); i=i+1; } Arrays.sort(a); System.out.println("The Minimum value in the array:"+a[1]);

www.esnips.com/user/vapremaims

Page 45

System.out.println("The Maximum value in the array:"+a[a.length-1]); } }

Task 1 Output Section 6 Arrays in Java OOPS JAVA Phase 1

www.esnips.com/user/vapremaims

Page 46

Task2: Sudoku Checker


Mr. Varun is running an online gaming website. He initially started his site by putting Sudoku puzzles. He want you to write a program to check whether the answer to the puzzle is correct or not. To make things easy, initialize your 2D array with the data given below. Sudoko: Given a 9-by-9 array of integers between 1 and 9, check if it is a valid solution to a Sudoku puzzle: each row, column, and block should contain the 1 to 9 integers exactly once.
5 3 4 | 6 7 8 | 9 1 2 6 7 2 | 1 9 5 | 3 4 8 1 9 8 | 3 4 2 | 5 6 7 -------+-------+-----8 5 9 | 7 6 1 | 4 2 3 4 2 6 | 8 5 3 | 7 9 1 7 1 3 | 9 2 4 | 8 5 6 -------+-------+-----9 6 1 | 5 3 7 | 2 8 4 2 8 7 | 4 1 9 | 6 3 5 3 4 5 | 2 8 6 | 1 7 9

import java.util.*; import java.io.*; public class Sudoku { public static void main(String arg[]) throws IOException { int[][] sudo={{5,3,4,6,7,8,9,1,2}, {6,7,2,1,9,5,3,4,8}, {1,9,8,3,4,2,5,6,7}, {8,5,9,7,6,1,4,2,3}, {4,2,6,8,5,3,7,9,1}, {7,1,3,9,2,4,8,5,6}, {9,6,1,5,3,7,2,8,4},

www.esnips.com/user/vapremaims

Page 47

{2,8,7,4,1,9,6,3,5}, {3,4,5,2,8,6,1,7,9}}; int[][] checker={{1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 }, {1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 }, {1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 }, {1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 }, {1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 }, {1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 }, {1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 }, {1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 }, {1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 }}; int[][] sudo1=new int[9][9]; int[][] sudo2=new int[9][9]; int[] a=new int[9]; int i,j,flag=0; //DataInputStream dis=new DataInputStream(System.in); //System.out.println("Enter the 2D array elements:"); for(i=0;i<9;i++) { for(j=0;j<9;j++) { //System.out.println("sudo["+i+"]["+j+"]"); //sudo[i][j]=Integer.parseInt(dis.readLine()); sudo1[i][j]=sudo[i][j]; } }

www.esnips.com/user/vapremaims

Page 48

for(i=0;i<9;i++) { for(j=0;j<9;j++) { System.out.print(sudo1[i][j]+" "); } System.out.print("\n"); } for(i=0;i<9;i++) { Arrays.sort(sudo1[i]); } /*System.out.println("Rows altered to column matrix:"); for(i=0;i<9;i++) { for(j=0;j<9;j++) { a[i]=sudo[j][i]; sudo2[i][j]=a[i]; System.out.print(sudo2[i][j]+" "); } System.out.println(); }*/ //Trnspose for(i=0;i<9;i++) {
www.esnips.com/user/vapremaims Page 49

for(j=0;j<9;j++) { sudo2[i][j]=sudo[j][i]; } } /*System.out.println("Transpose Matrix:"); for(i=0;i<9;i++) { for(j=0;j<9;j++) { System.out.print(sudo2[i][j]+" "); } System.out.println(); }*/ for(i=0;i<9;i++) { Arrays.sort(sudo2[i]); } /*System.out.println("Rows sorted matrix:"); for(i=0;i<9;i++) { for(j=0;j<9;j++) { System.out.print(sudo1[i][j]+" "); } System.out.print("\n"); }
www.esnips.com/user/vapremaims Page 50

System.out.println("Columns sorted matrix:"); for(i=0;i<9;i++) { for(j=0;j<9;j++) { System.out.print(sudo2[i][j]+" "); } System.out.print("\n"); }*/ for(i=0;i<9;i++) { for(j=0;j<9;j++) { if((sudo1[i][j]==checker[i][j])&&(sudo2[i][j]==checker[i][j])) flag=0; else { flag=1; break; } } if(flag==1) break; } // Checking of blocks int z[] = new int[9];

www.esnips.com/user/vapremaims

Page 51

for(i=0; i<3; i++) { for(j=0; j<3; j++) { int rowbeg = 3 * i; int rowend = 3*i + 2; int colbeg = j * 3; int colend = j * 3 + 2; for(int k=0; k<9; k++) { z[k]=0; } for(int k=3*i; k<= 3*i+2; k++) { for(int l = 3*j ; l <= 3*j+2; l++) { z[sudo[k][l]-1]++; if(z[sudo[k][l]-1] > 1) { flag = 1; break; } } } }

}
www.esnips.com/user/vapremaims Page 52

if(flag==1) System.out.println("Not a Correct Answer"); else System.out.println("Correct answer"); } }

Task 2 Output Module 1 Section 6

www.esnips.com/user/vapremaims

Page 53

Module 7Strings in Java Module 1


Task 1
Create a class that reverses the order of words to a given string or sentence. For example if we give Sample input: "who am i" Sample output: "i am who"

import java.io.*; import java.util.*; class Stringreverse { public static void main(String arg[]) { Scanner s=new Scanner(System.in); System.out.println("Enter the Input String:"); String str=s.nextLine(); Stack<String> stack=new Stack<String>(); String[] temp; String delimiter=" "; temp=str.split(delimiter); for(int i=0;i<temp.length;i++) { stack.push(temp[i]); } System.out.println("Original string is-->"+str);

www.esnips.com/user/vapremaims

Page 54

System.out.println("Reverse Word String is--->"); while(!stack.empty()) { String rev=stack.pop(); System.out.print(rev); System.out.print(" "); } } }

Task 1 Output Module 1 Section 7 Strings in Java Phase 1

www.esnips.com/user/vapremaims

Page 55

Task 2
Write a program to develop a menu of String operations like the program should provide 5 operations(uppercase, lowercase, display each word, search for a substring, replace white space with $ symbol) Take the string(more than 3 words) and choice of user as input and the program should perform the operation selected by user and display the result. Hint: Use Java API to solve this problem

Sample Test case: Enter string of your choice: "Welcome to object oriented programming in java" ---String Operations Menu--1. Convert to UpperCase 2. Convert to LowerCase 3. Display each word in the string 4. Search for a substring 5. Replace all the white spaces in the string with $ symbol Enter your choice: 1 Output: WELCOME TO OBEJCT ORIENTED PROGRAMMING IN JAVA Enter your choice: 2 Output:"welcome to object oriented programming in java" Enter your choice: 3 Output: welcome to object oriented programming in java Enter your choice: 4 Enter your key to search: "object" Output: "Key found" Enter your choice: 5 Output: "welcome$to$object$oriented$programming$in$java"

import java.io.*; import java.util.*; class Stringoperation { public static void main(String arg[]) { //BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
www.esnips.com/user/vapremaims Page 56

Scanner s=new Scanner(System.in); System.out.println("Enter Input String:"); String s1=s.nextLine(); //String s1=br.readLine(); //StringBuffer s1=new StringBuffer(); do { System.out.println(" 1.UpperCase \n 2.Lowecase \n 3. Display each Word \n 4.substring \n 5. Repalce white space wiht $ symbol \n 6.Exit"); System.out.println("Enter your choice"); int ch=s.nextInt(); switch(ch) { case 1: String str1=s1.toUpperCase(); System.out.println(str1); break; case 2: str1=s1.toLowerCase(); System.out.println(str1); break; case 3: Stack<String> stack=new Stack<String>(); String[] temp; String delimiter=" "; temp=s1.split(delimiter);

for(int i=0;i<temp.length;i++)

www.esnips.com/user/vapremaims

Page 57

{ System.out.println(stack.push(temp[i])); } break; case 4: System.out.println("Enter startind position"); int a=s.nextInt(); System.out.println("Enter ending position"); int b=s.nextInt(); System.out.println(s1.substring(a,b)); break; case 5: System.out.println(s1.replace(' ','$')); break; case 6: System.exit(0); } }while (true); } }

www.esnips.com/user/vapremaims

Page 58

Task 2 Output Module 1 Section 7 Strings in Java Phase 1

www.esnips.com/user/vapremaims

Page 59

Module 2 Section 7 Strings in Java


Task 1
Write a program to encrypt a message that your boss is sending to a client. And decrypt that message after the client is received using the following algorithm To make it simple, take a message (string of words, atleast 3), key as input and print the encrypted and decrypted messages.
Step-by-step guide

Shuffle the words in the message(say 1st word appears in the last and so on)

ex: msg: "Welcome to java programming" shuffle as "programming java to welcome"

Take the Key from the user as input and encrypt by the shifting the alphabets according to the key
ex: msg: "java" key = 2 then the msg: "lcxc"

import java.util.*; class abc { String str=""; String str1=""; String str2=" "; String str3=" "; int key=0; int temp=0; Scanner s2=new Scanner(System.in); public void e() { System.out.print("Enter the input string:");
www.esnips.com/user/vapremaims Page 60

str1=s2.nextLine(); System.out.print("Enter key value"); key=s2.nextInt(); Stack<String> stack=new Stack<String>(); String[] temp1; String delimiter=" "; temp1=str1.split(delimiter); for(int i=0;i<temp1.length;i++) { stack.push(temp1[i]); } while(!stack.empty()) { str=stack.pop(); for (int i = 0; i < str.length(); i ++) { char ch = str.charAt(i); int c=(int)(ch); if(c>96 && c<123) { str2+= (char)(97 + ((c -97)+ key) % 26); } else if(c>64 && c<91) { str2+= (char)(65 + ((c -65)+ key) % 26);

}
www.esnips.com/user/vapremaims Page 61

else str2+=ch; } str2+=" "; } System.out.println(" "+str2); temp=1; } public void d() { if(temp==1) { Stack<String> stack1=new Stack<String>(); String[] temp11; String delimiter1=" "; temp11=str2.split(delimiter1); for(int i=0;i<temp11.length;i++) { stack1.push(temp11[i]); } while(!stack1.empty()) { str=stack1.pop(); for (int i = 0; i < str.length(); i ++) { char ch = str.charAt(i); int c=(int)(ch); if(c>96 && c<123)

www.esnips.com/user/vapremaims

Page 62

{ str3+= (char)(97 + ((c -97)- key) % 26); //str3[i]=str3[i] + (char)(97 + ((c -97)- key) % 26); } else if(c>64 && c<91) { str3+= (char)(65 + ((c +65)- key) % 26); //str3[i]=str3[i] + (char)(65 + ((c +65)- key) % 26); } else str3+=ch; //else str3[i]=str3[i]+ch; } str3+=" "; } System.out.println(" "+str3); } else System.out.println("There is not message to Decrypt"); temp=0; } } class EncrDecrUsingObject { public static void main(String[] args) { Scanner s1=new Scanner(System.in); int cho; abc b=new abc();
www.esnips.com/user/vapremaims Page 63

do { System.out.print("1.Encrypt\n2.Decrypt\n3.Exit \nEnter ur choice:"); cho=s1.nextInt(); switch(cho) { case 1: b.e(); break; case 2: b.d(); break; case 3: System.exit(0); } } while (true); } }

Task 1 OutputModule 2 Section 7 Strings in Java Phase 1

www.esnips.com/user/vapremaims

Page 64

www.esnips.com/user/vapremaims

Page 65