#java #string
Вопрос:
У меня есть эта последовательность кода, чтобы попытаться отформатировать математический расчет
//TODO add PI
final double PIE=Math.PI;
System.out.println(PIE);
String pieThing="2PI2PI";
System.out.println(pieThing);
//TODO check for indexes before a thing. Helpful for moving index line and Syntax check
if(pieThing.indexOf("PI")>0)
{
if(pieThing.charAt(pieThing.indexOf("PI")-1)=='2')//<--- This is annoying use a switch
{
StringBuilder pieThingBuilder=new StringBuilder(pieThing);
pieThingBuilder.insert(pieThing.indexOf("PI"),"*");
pieThing=pieThingBuilder.toString();
}
}
System.out.println(pieThing);
pieThing=pieThing.replace("PI",Double.toString(PIE));
System.out.println(pieThing);
Но он будет запущен только один раз, как я могу проверить, найти и преобразовать все «ПИ»в»*», если за ними стоит 2?
Есть ли лучший способ сделать то, чего я пытаюсь достичь?
Комментарии:
1. каков ваш желаемый результат?
2. Взгляните на
String.replaceAll()