Respuesta :

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

 

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

Ver imagen mahamnasir