StringBuffer setCharAt() Method in Java

Rumman Ansari   Software Engineer   2019-03-30   6777 Share
☰ Table of Contents

Table of Content:


To manipulate string, java.lang.StringBuffer class comes with many methods, otherwise, which will take long laborious coding as in C/C++. One such method is setCharAt(int, char) that replaces a single character in the string buffer. Now read setCharAt() StringBuffer.

Syntax

void setCharAt(int where, char ch)

Parameters

where - specifies the index of the character being set,
ch - specifies the new value of that character.

where must be nonnegative and must not specify a location beyond the end of the buffer.

Throws

IndexOutOfBoundsException - if index is negative or greater than or equal to length().

Program

Following setCharAt() StringBuffer example illustrates.

public class DemosetCharAt
{
  public static void main(String args[])
  {
   StringBuffer sb1 = new StringBuffer("ABCDEFGHI");

   System.out.println("Original string buffer sb1: " + sb1);

   sb1.setCharAt(0, 'a');
   sb1.setCharAt(4, 'e');

   System.out.println("String buffer sb1 after setting char: " + sb1);

   sb1.setCharAt(10, 'y');
 }
}

Output

Here is the output generated by this program:

Original string buffer sb1: ABCDEFGHI
String buffer sb1 after setting char: aBCDeFGHI
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 10
        at java.lang.StringBuffer.setCharAt(StringBuffer.java:255)
        at DemosetCharAt.main(DemosetCharAt.java:14)
Press any key to continue . . .

Program

// Demonstrate charAt() and setCharAt().
class SetCharAtDemo {

public static void main(String args[]) {

	StringBuffer strng = new StringBuffer("Hello");
	System.out.println("buffer before = " + strng);
	System.out.println("charAt(1) before = " + strng.charAt(1));
	strng.setCharAt(1, 'i');
	strng.setLength(2);
	System.out.println("buffer after = " + strng);
	System.out.println("charAt(1) after = " + strng.charAt(1));

 }
}

Output

Here is the output generated by this program:

buffer before = Hello
charAt(1) before = e
buffer after = Hi
charAt(1) after = i
Press any key to continue . . .