Помогите с задачей, нужно вместо круглых скобок вводимых с клавиатуры поставить квадратные скобки а в них, позицию этих скобок
Помогите с задачей, нужно вместо круглых скобок вводимых с клавиатуры поставить квадратные скобки а в них, позицию этих скобок ,по типу если я введу "helloy()world()helloy()world" и оно должно выводить "helloy[1]world[2]helloy[3]world Пока вставляется только индекс первой скобки
import java.util.Scanner;
public class Main
{
public static StringBuilder del(StringBuilder s1) {
int start = 0;
boolean flag = true;
int a = 1;
for (int i = 0; i < s1.length(); i++) {
for (int j = 0; j < s1.length() - 1; j++)
{
a++;
String aString = Integer.toString(a);
if (s1.charAt(j) == '(' && flag) {
start = j;
flag = false;
}
if (s1.charAt(j) == ')' && !flag) {
flag = true;
s1.replace(start, j+1 ,"["+aString+"]");
}
}
}
return s1;
}
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("Введите строку: ");
StringBuilder s1 = new StringBuilder(in.nextLine());
System.out.print("Преобразованная строка: " + del(s1));
}
}
Ответы (1 шт):
Автор решения: Владимир Клыков
→ Ссылка
public static StringBuilder del(StringBuilder s1) {
int start = 0;
boolean flag = true;
int a = 1;
for (int i = 0; i < s1.length(); i++) {
for (int j = 0; j < s1.length() - 1; j++)
{
if (s1.charAt(j) == '(' && flag) {
start = j;
flag = false;
}
if (s1.charAt(j) == ')' && !flag) {
flag = true;
String aString = Integer.toString(a);
s1.replace(start, j+1 ,"["+aString+"]");
a++;
break;
}
}
}
return s1;
}