1 / 19

# EXAMPLES - PowerPoint PPT Presentation

EXAMPLES. Example 1:. Write a Java method that performs addition on two binary numbers. Each binary number is kept in an integer array. 11 1010 0101 + 1 0111 0001 --------------- 101 0001 0110. private static int [] binaryAddition( int [] A, int []B){

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' EXAMPLES' - leslie-hurst

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### EXAMPLES

• Write a Java method that performs addition on two binary numbers. Each binary number is kept in an integer array.

11 1010 0101

+ 1 0111 0001

---------------

101 0001 0110

private static int [] binaryAddition(int[] A, int []B){

int[] C = newint [max(A.length,B.length) + 1];

int curA = A.length - 1;

int curB = B.length - 1;

int carry = 0;

for (int i = C.length - 1; i >= 0; i--){

int sum = 0;

if (curA >= 0){

sum += A[curA];

curA--;

}

if (curB >= 0){

sum += B[curB];

curB--;

}

C[i] = (carry + sum) % 2;

carry = (carry + sum) / 2;

}

return C;

}

private static int max(int A, int B){

if (A > B)

return A;

else

return B;

}

• Write a Java method that combines two sorted integer arrays into a third sorted integer array

private static int [] combineArrays(int[] A, int[] B){

int[] C = newint[A.length + B.length];

int curA, curB, curC;

curA = curB = curC = 0;

while (curA < A.length && curB < B.length){

if (A[curA] < B[curB])

C[curC++] = A[curA++];

else

C[curC++] = B[curB++];

}

if (curA < A.length)

while (curA < A.length)

C[curC++] = A[curA++];

else

while (curB < B.length)

C[curC++] = B[curB++];

return C;

}

• Write a program that takes the first and last names from the user and outputs two fancy greetings for this name.

• For example, if the input is "Cigdem" and "Gunduz-Demir", then the greetings should look like

****************

* Hello! *

* Cigdem *

* Gunduz-Demir *

****************

****************************

* H o g G u e *

* e l ! i d m u d z D m r *

* l C e n - i *

****************************

• The latter should be formed by concatenating the strings "Hello!", "Cigdem", and "Gunduz-Demir" and outputting it in a wave pattern

import java.util.*;

public class Greetings{

public static void main(String[] args){

Scanner scan = new Scanner(System.in);

String firstName = scan.next();

String lastName = scan.next();

displayGreeting("Hello!",firstName,lastName);

System.out.println();

displayGreetingInWaveForm("Hello!",firstName,lastName);

}

private static void displayGreeting(String s1, String s2,

String s3){

int lineLen = maxLengthOfThree(s1,s2,s3) + 4;

writeStringOnSingleLine(s1,lineLen);

writeStringOnSingleLine(s2,lineLen);

writeStringOnSingleLine(s3,lineLen);

}

private static int maxLengthOfThree(String s1, String s2,

String s3){

int maxLen = s1.length();

if (maxLen < s2.length())

maxLen = s2.length();

if (maxLen < s3.length())

maxLen = s3.length();

return maxLen;

}

for (int i = 0; i < lineLen; i++)

System.out.print("*");

System.out.println();

}

private static void writeStringOnSingleLine(String S,

int lineLen){

int spaceNo = lineLen - 4 - S.length();

int leftSpaceNo = spaceNo / 2;

int rightSpaceNo = spaceNo - leftSpaceNo;

System.out.print("* ");

for (int i = 0; i < leftSpaceNo; i++)

System.out.print(" ");

System.out.print(S);

for (int i = 0; i < rightSpaceNo; i++)

System.out.print(" ");

System.out.println(" *");

}

private static void displayGreetingInWaveForm(String s1,

String s2, String s3){

String all = s1 + s2 + s3;

char [][] lines = newchar[3][all.length()];

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

for (int j = 0; j < lines[0].length; j++)

lines[i][j] = ' ';

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

lines[0][i] = all.charAt(i);

for (int i = 1; i < all.length(); i += 2)

lines[1][i] = all.charAt(i);

for (int i = 2; i < all.length(); i += 4)

lines[2][i] = all.charAt(i);

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

System.out.print("* ");

for (int j = 0; j < lines[0].length; j++)

System.out.print(lines[i][j]);

System.out.println(" *");

}

}

}

• Write a card shuffling and dealing simulation program. This program shuffles a deck of 52 playing cards and then deal these cards to 4 players.

• Suits: Hearts, Diamonds, Clubs, Spades

• Faces: 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, A

import java.util.*;

public class CardDealing {

public static void main(String[] args){

String[] faces = {"2","3","4","5","6","7","8",

"9","10","J","Q","K","A"};

String[] suits = {"Hearts","Diamonds",

String[] deck = newString[52];

String[][] hands;

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

deck[i] = faces[i % 13] + " " + suits[i / 13];

printDeck(deck); // sorted deck

shuffle(deck);

printDeck(deck); // shuffled deck

hands = deal(deck,4);

printHands(hands);

}

// write your helper methods here

}

private static void printDeck(String[] deck){

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

System.out.println(deck[i]);

}

private static void shuffle(String[] deck){

Random rand = newRandom();

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

int rno = rand.nextInt( 52 );

String temp = deck[i];

deck[i] = deck[rno];

deck[rno] = temp;

}

}

private staticString [][] deal(String[] deck,

int playerNo){

String[][] hands =

newString [playerNo][deck.length / playerNo];

int cnt = 0;

for (int i = 0; i < hands[0].length; i++){

for (int j = 0; j < hands.length; j++){

hands[j][i] = deck[cnt];

cnt++;

}

}

return hands;

}

privatestaticvoid printHands(String[][] hands){

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

System.out.print("Player" + i + "\t\t");

}

System.out.println();

for (int i = 0; i < hands[0].length; i++){

for (int j = 0; j < hands.length; j++){

System.out.print(hands[j][i] + " \t");

}

System.out.println();

}

}