Суммирование чисел в строке
Есть строка "Вася заработал 5000 рублей, Петя - 7563 рубля, а Маша - 30000 рублей". Надо суммировать все числа в ней. Нужно получить в консоль 42563. Нельзя использовать регулярные выражения, а только методы indexOf(), lastIndexOf(), substring(). У меня выводит 5000 7563 30000 Код ниже
public class Primer {
public static void main(String[] args) {
String text = "Вася заработал 5000 рублей, Петя - 7563 рубля, а Маша - 30000 рублей";
System.out.println(getSalary(text));
}
public static String getSalary(String salary){
String vasyaStr = "заработал";
int vasyaStart = salary.indexOf(vasyaStr);
int vasyaEnd = salary.indexOf("рублей", vasyaStart);
String petyaStr = "-";
int petyaStart = salary.indexOf(petyaStr);
int petyaEnd = salary.indexOf("рубля", petyaStart);
String mashaStr = "Маша - ";
int mashaStart = salary.indexOf(mashaStr);
int mashaEnd = salary.indexOf("рублей", mashaStart);
String vasyaSalary = salary.substring(vasyaStart + vasyaStr.length(), vasyaEnd);
String petyaSalary = salary.substring(petyaStart + petyaStr.length(), petyaEnd);
String mashaSalary = salary.substring(mashaStart + mashaStr.length(), mashaEnd);
return vasyaSalary + petyaSalary + mashaSalary;
}
}
Ответы (1 шт):
Скорее всего после слова RamType нужно просто поставить точку и выбрать соответствующий Enum тип этого RamType (у вас сейчас не выбран). И всё должно работать.
Ну а вообще, скиньте, пожалуйста, детальную информацию. Потому что этот ответ на уровне предположения. Нужен код класса Ram и enum RamType. А также информация какие именно ошибки возникают. Тогда можно будет точно сказать в чём проблема и как её исправить.