137k views
2 votes
Write a function that takes any word and applies that pattern. I.E. printer =? p5r ; *** =? v2a ; function =? f6n

1 Answer

2 votes

Answer:

I am writing a JAVA program:

import java.util.Scanner; //used to take input from user

public class Main{

public static void function(String word){ //function that takes a word as parameter an applies a pattern

int count=0; // count the number of characters between first and last characters of the word string

char first = word.charAt(0); //gets the first character of the word

char last = word.charAt(word.length() - 1); /gets the last character

for(int i = 1; i<word.length()-1;i++) //iterates through word to count the characters between first and last characters

{ count=i; } //sets the count of characters to count variable

System.out.println(first+""+count+""+last); } //prints the first and last characters of input word with the number of characters between first and last characters of word string

public static void main(String []args){//start of main function

Scanner input= new Scanner(System.in); //creates Scanner class object

System.out.print("Enter a word: "); // prompts user to enter a word

String str= input.nextLine(); //reads word string from user

function(str); } } //calls function passing the string to it

Step-by-step explanation:

I will explain the program with the help of an example:

Suppose the word is printer.

charAt(0) returns the character at the 0-th index of a string word i.e printer. This means the first character of "printer" is returned i.e. 'p'

word.charAt(word.length() - 1) returns the character at the word.length() - 1 index of a string word i.e printer. This means the last character of "printer" is returned i.e. 'r'. Here length() function is used to return the length of the string. The length of "printer" is 7 (from 0 to 6) so word.length() -1 returns 7-1 = 6. This means the character at 6th index.

for(int i = 1; i<word.length()-1;i++) loop counts the character between the first and last character of "printer" . It works as follows:

1st iteration:

i = 1

i<word.length()-1 is true because 1<6

count = i

count = 1

i = i + 1

i = 2

2nd iteration:

i = 2

i<word.length()-1 is true because 2<6

count = i

count = 2

i = i + 1

i = 3

3rd iteration:

i = 3

i<word.length()-1 is true because 3<6

count = i

count = 3

i = i + 1

i = 4

4th iteration:

i = 4

i<word.length()-1 is true because 4<6

count = i

count = 4

i = i + 1

i = 5

5th iteration:

i = 5

i<word.length()-1 is true because 5<6

count = i

count = 5

i = i + 1

i = 6

At next iteration i<word.length()-1 evaluates to false because i = 6

So final value of count is:

count = 5

System.out.println(first+""+count+""+last); statement prints the first character of "printer" i.e. 'p', followed by value of count i.e. 5 , followed by last character of "printer" i.e. 'r'

Output:

p5r

Write a function that takes any word and applies that pattern. I.E. printer =? p5r-example-1
User Liorko
by
6.8k points