Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Java > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 26.05.2018, 13:53   #1
ДИджей
Новичок
 
Регистрация: 26.05.2018
Сообщений: 1
Репутация: 10
По умолчанию Задача на Java

Здравствуйте !
Не могли бы помочь с задачей.
По условию дана строка String, из этой строки нужно "достать" числа и сложить их.
Например: "HeL99LO, Wor1088LD !" ==> 99+1088
Простое решение сделать могу
( 9+9+1+0+8+8), а вот полностью, с разрядами - нет(
Что можете посоветоватьь ?
ДИджей вне форума   Ответить с цитированием
Старый 26.05.2018, 14:55   #2
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 902
Репутация: 627
По умолчанию

Код:

сумма = 0
слагаемое = 0
по всем символам цикл
  если цифра
    слагаемое = слагаемое * 10 + цифра
  иначе
    сумма = слагаемое + сумма
    слагаемое = 0

Black Fregat вне форума   Ответить с цитированием
Старый 27.05.2018, 15:12   #3
OlegGonchar
Новичок
 
Регистрация: 27.05.2018
Сообщений: 1
Репутация: 10
Хорошо Можно так решить, через парсинт. Только надо еще дописать обработку если цифры в конце изначальной строки.

import java.util.ArrayList;
import java.util.List;

public class SimpleTask {

public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "HeL99LO, Wor1088LD !";
List<Integer> indexes =new ArrayList<Integer>();

for (int i = 0 ; i < str.length(); i++) {
if(Character.isDigit(str.charAt(i)) ) {
indexes.add(i);
for(int y =i+1; y< str.length(); y++) {
if(!Character.isDigit(str.charAt(y) )) {
indexes.add(y);
i=y+1;
break;
}
}
}
}

List<String> listr = new ArrayList<String>();
for(int i=0; i< indexes.size(); i=i+2) {

listr.add(str.substring(indexes.get (i),indexes.get(i+1)));
}

int sum=0;
for (String i:listr) {
sum += Integer.parseInt(i);
}
System.out.println(sum);
}
}
OlegGonchar вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача, Java dungle Помощь студентам 1 05.12.2011 19:27
Задача на JAVA Veina Помощь студентам 5 17.03.2011 06:53
Задача по java Gamestop Помощь студентам 6 12.01.2011 02:36


21:38.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru