Вы можете использовать регулярные выражения с выражением «границы слова» (\ b) вместе с replaceAll , например:
String word = "is";
String replacement = "at";
String result = "is this? This is, an island".replaceAll("\\b" + word + "\\b", replacement);
// result: "at this? This at, an island"
В вашем случае , вы хотите заменить эту строку:
String q = s1.replace(s2, s3);
на эту строку:
String q = s1.replaceAll("\\b" + s2 + "\\b", s3);
Вот полный пример:
import javax.swing.JOptionPane;
public class Test {
public static void main(String[] args) {
String s1 = JOptionPane.showInputDialog("Enter the string");
String s2 = JOptionPane.showInputDialog("Enter the word to replace ");
String s3 = JOptionPane.showInputDialog("Enter the word to replace with");
String q = s1.replaceAll( "\\b" + s2 + "\\b", s3);
JOptionPane.showMessageDialog(null,q,"Array values",JOptionPane.WARNING_MESSAGE);
}
}