powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Убираем пробелы в начале и конце строки, дак как все-таки?
25 сообщений из 54, страница 2 из 3
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248100
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczandreykaTи что? если это в начале будет строки то будет -- и -1 а значит ошибка. если посередине - это умножение. если мне память не изменяет из школьного курса алгебры
Ну, ты не указал, что одно условие на каждую итерацию, а второе на результат.
а.. ну как бы да я это и подразумевал :) вначале у меня была мысль делать два "стека" ) в один плюсовать ( в другой ) а потом стеки отнимать друг от друга. :)
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248113
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. Совершенно верно. Это сейчас. В уютном кресле вы можете рассуждать.

А когда на твой скрин смотрят два тим-лида и ждут - ощущения совсем другие.
Я считал что знаю большинство ловушек на собеседовании - но это не так.
Всегда найдется хитрая задчка которую тебе сходу не решить. И дело не в знаниях.
А скорее в смекалке. Здесь к примеру знания ПОЛИЗов и парсеров только мешали.
По сути - глубина скобок должна быть неотрицательна. Это инвариант. Но к нему
надо еще подойти.

Вот... после этого топика вы все уже умные и знаете этот пустяк...
Но тим лид придумает что-то для вас новое зойчата....
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248120
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВот... после этого топика вы все уже умные и знаете этот пустяк...

Ну, тема скобок подробно разбирается в институте в занятиях на тему компиляторов.
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248122
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Та я и не спорю В стрессовой ситуации даже элементарные вопросы могут в ступор вводить. Но только вот незадача. мы не космонавты и в стрессе работать не должны и не обязаны уметь. Правда, 25-тилентему лиду, который сам никогда реальных собесов может и не проходил этого не объяснить.
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248124
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
..он такой крутой клёвый напыщенный, сидит порабощать и угнетать новопришедших. а посади его на твое место - всё может быть даже хуже чем с тобой.
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248130
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczmaytonВот... после этого топика вы все уже умные и знаете этот пустяк...

Ну, тема скобок подробно разбирается в институте в занятиях на тему компиляторов.
у меня образование техническое, но к айти мало относится - кровавая и беспощадная физика. и мы проходили максимум базис.
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248422
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самые хитрые вопросы - все равно не про школьную программу. Иногда от вас ждут швыряния
барометра из окна для замера высоты. Иногда - рассуждений на тему что делать если ты
попал в блэндер.
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248428
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

бред какой то. мне кажется что это тебя так тролят. и может стоит потролить в ответ? типа. а какого цвета блендер, а из какого материала лезвия, с какой скоростью крутятся? а кто кнопку нажмет?
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248434
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonСамые хитрые вопросы - все равно не про школьную программу. Иногда от вас ждут швыряния
барометра из окна для замера высоты....
Но ведь решений задачи много. Главное выбрать из них лучшее )))

«привяжите к барометру шнурок и, раскачивая его, как маятник, определите величину гравитации у основания здания и на его крыше. Из разницы между этими величинами, в принципе, можно вычислить высоту здания»
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248436
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
среди множества прочих способов решения проблемы лучшим, пожалуй, является такой: возьмите барометр с собой, найдите управляющего зданием и скажите ему: «Господин управляющий, у меня есть замечательный барометр. Он ваш, если вы скажете мне высоту этого здания». )))
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248437
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ох уж эти программисты ...
Радиус земли превышает 6000 километров. И был измерен ещё в античные времена (с погрешностью в пределах 20 процентов).
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248447
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не программисты. Это, по слухам, Нильс Бор экзаменаторов по физике троллил )))
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248451
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В "Физики шутят" / "Физики продолжают шутить" много приколов - понятных и не очень.
Программирование-то тут при чём?
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248457
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovВ "Физики шутят" / "Физики продолжают шутить" много приколов - понятных и не очень.
Программирование-то тут при чём?
Это я в качестве примера привожу. А задачка про блэндер - из собеседований в Google.
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248469
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chabapokNixic, как вы дошли до жизни такой?

Интересно, каким образом вышло так, что человек с 1365 сообщениями (причем, 79% в ветке java) не знает что такое trim() ?
А чтобы фигачить бины и запросы в хибере знать про trim совсем не обязательно :-)
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248476
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну... trim() это как-бе основной API. И вообще суть претензий не в том знает чел
или нет встроенные средства. А понимает ли он как "инженер" что нужно решать
задачи по философии KISS, YAGNI e.t.c.
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248490
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nixicчто лучше, работать со строками через стандартные вещи или регексы использовать?Ну, раз не хотите использовать стандартные вещи типа trim() , тогда регексы:
Код: java
1.
dataStr.replaceAll("^\\s+|\\s+$", "")
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248494
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman,

О Боже. Всегда боялся регекспов Слушайте, расскажите, как вы в них разбираетесь? Помню я учил пэху, а там доатсточномного чего на регекспах. Вроде разбираться научился, понимать. Прошло пару лет. И смотрю на это и ужасаюсь. как вы это понимаете? Или у меня память как у рыбки?
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248500
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,

По началу - да, OutOf Мозг Exception.
Решение:
Чаще парсить строки/тексты/страницы. Искать примеры.
И со временем можно научиться понимать и "мыслить" регекс-паттернами (:
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248504
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объясняю с учебной целью, как надо делать. Поскольку задача сложная, надо разделить её на подзадачи:
1. Обкусывание пробелов в начале строки.
2. Обкусывание пробелов в конце строки.

Хорошо подумав, соображаем, что подзадачу (2) можно свести к (1). Для этого надо перевернуть строку, обкусить пробелы в начале, и снова перевернуть строку.
Теперь задача уже достаточно упрощена, и можно запрограммировать:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
public class TrimTest {

	public static void main(String[] args) {
		String s = "  Отсюда надо убрать пробелы в начале и в конце   ";
		//Эта строка не должна оканчиваться пробелами:
		final String end = "Йа конец."; 
		
		//убираем пробелы в начале
		StringBuilder sb = new StringBuilder (s);
		s = sb.append(end).toString().trim();
		
		//переворачиваем строку
		sb.setLength(0);
		sb.append(s).reverse();
		
		//убираем пробелы в конце
		s = sb.toString().substring(end.length()).trim();
		
		//опять переворачиваем строку
		sb.setLength(0);
		s = sb.append(s).reverse().toString();
		
		System.out.println ("\"" + s + "\"");
	}

}



Результат:

"Отсюда надо убрать пробелы в начале и в конце"
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248508
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan M,

сорри конечно, но самый классный пока что у Усмана, а самый брутальный у Валентина
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248517
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для потоковой обработки текста (напр., чтение из файла) лучше использовать java.util.Scanner :
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
try (java.util.Scanner scanner = new java.util.Scanner(dataStr)) {
    scanner.useDelimiter("\\s+");
    while (scanner.hasNext()) {
        System.out.print(scanner.next());
        if (scanner.hasNext()) {
            System.out.print(' ');
        }
    }
    System.out.println();
}
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39248596
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
just_vladimirchabapokNixic, как вы дошли до жизни такой?

Интересно, каким образом вышло так, что человек с 1365 сообщениями (причем, 79% в ветке java) не знает что такое trim() ?
А чтобы фигачить бины и запросы в хибере знать про trim совсем не обязательно :-)
да Вы кстати правы. когда весь твой круг обязанностей достаточно тривиален, и закручен вокруг трех-четырех моментов, после долгой работы в таком темпе даже банальные вопросы и задачи могут в ступор ввести.
...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39249453
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczandreykaT,

Код: java
1.
2.
3.
4.
        
String digits = "12345";
System.out.println(digits.chars().map(i -> i - '0').sum());
System.out.println(digits.chars().sum() - digits.length() * '0');



сложность линейная ... не хорошо

нужно делать так :

Код: java
1.
2.
3.
4.
5.
# Run complete. Total time: 00:00:27

Benchmark           Mode  Cnt   Score   Error  Units
SumLine.testStream  avgt   10  57,187 ± 1,059  ns/op
SumLine.testSumm    avgt   10  15,993 ± 2,044  ns/op



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
import java.util.concurrent.TimeUnit;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
import org.openjdk.jmh.annotations.Fork;
import org.openjdk.jmh.annotations.Measurement;
import org.openjdk.jmh.annotations.Mode;
import org.openjdk.jmh.annotations.OutputTimeUnit;
import org.openjdk.jmh.annotations.Scope;
import org.openjdk.jmh.annotations.State;
import org.openjdk.jmh.annotations.Warmup;
import org.openjdk.jmh.infra.Blackhole;
import org.openjdk.jmh.runner.Runner;
import org.openjdk.jmh.runner.RunnerException;
import org.openjdk.jmh.runner.options.Options;
import org.openjdk.jmh.runner.options.OptionsBuilder;


@Warmup(iterations = 3)
@Measurement(iterations = 10)
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@State(Scope.Benchmark)
@Fork(2)
public class SumLine {

    private static final String digits = "12345";

    @Benchmark
    public void testSumm(Blackhole bh) {
        bh.consume(summ());

    }

    @Benchmark
    public void testStream(Blackhole bh) {
        bh.consume(stream());
    }

    public int stream() {
        return digits.chars().sum() - digits.length() * '0';
    }

    public int summ() {
        return (Integer.parseInt(digits.charAt(0) + "") + Integer.parseInt(digits.charAt(digits.length() - 1) + "")) / 2 * digits.length();
    }

    public static void main(String[] args) throws RunnerException {
        Options opt = new OptionsBuilder()
                .include(SumLine.class.getSimpleName())
                .forks(1)
                .build();

        new Runner(opt).run();
    }

}




Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
# JMH 1.12 (released 62 days ago)
# VM version: JDK 1.8.0_91, VM 25.91-b14
# VM invoker: /usr/lib/jvm/java-8-oracle/jre/bin/java
# VM options: <none>
# Warmup: 3 iterations, 1 s each
# Measurement: 10 iterations, 1 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: ru.stoloto.isalnikov.benchmarkfactorial.SumLine.testStream

# Run progress: 0,00% complete, ETA 00:00:26
# Fork: 1 of 1
# Warmup Iteration   1: 106,927 ns/op
# Warmup Iteration   2: 65,050 ns/op
# Warmup Iteration   3: 56,056 ns/op
Iteration   1: 56,266 ns/op
Iteration   2: 58,029 ns/op
Iteration   3: 56,948 ns/op
Iteration   4: 57,194 ns/op
Iteration   5: 57,900 ns/op
Iteration   6: 56,262 ns/op
Iteration   7: 58,096 ns/op
Iteration   8: 57,537 ns/op
Iteration   9: 56,488 ns/op
Iteration  10: 57,147 ns/op


Result "testStream":
  57,187 ±(99.9%) 1,059 ns/op [Average]
  (min, avg, max) = (56,262, 57,187, 58,096), stdev = 0,701
  CI (99.9%): [56,128, 58,246] (assumes normal distribution)


# JMH 1.12 (released 62 days ago)
# VM version: JDK 1.8.0_91, VM 25.91-b14
# VM invoker: /usr/lib/jvm/java-8-oracle/jre/bin/java
# VM options: <none>
# Warmup: 3 iterations, 1 s each
# Measurement: 10 iterations, 1 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: ru.stoloto.isalnikov.benchmarkfactorial.SumLine.testSumm

# Run progress: 50,00% complete, ETA 00:00:13
# Fork: 1 of 1
# Warmup Iteration   1: 25,852 ns/op
# Warmup Iteration   2: 15,484 ns/op
# Warmup Iteration   3: 14,362 ns/op
Iteration   1: 15,342 ns/op
Iteration   2: 14,914 ns/op
Iteration   3: 14,919 ns/op
Iteration   4: 15,600 ns/op
Iteration   5: 19,118 ns/op
Iteration   6: 17,211 ns/op
Iteration   7: 16,483 ns/op
Iteration   8: 14,844 ns/op
Iteration   9: 15,193 ns/op
Iteration  10: 16,306 ns/op


Result "testSumm":
  15,993 ±(99.9%) 2,044 ns/op [Average]
  (min, avg, max) = (14,844, 15,993, 19,118), stdev = 1,352
  CI (99.9%): [13,950, 18,037] (assumes normal distribution)


# Run complete. Total time: 00:00:27

Benchmark           Mode  Cnt   Score   Error  Units
SumLine.testStream  avgt   10  57,187 ± 1,059  ns/op
SumLine.testSumm    avgt   10  15,993 ± 2,044  ns/op
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 28.283s
Finished at: Thu Jun 02 18:09:10 MSK 2016
Final Memory: 5M/117M

...
Рейтинг: 0 / 0
Убираем пробелы в начале и конце строки, дак как все-таки?
    #39249457
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А Если строка
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
private static final String digits = "123456789";


# Run complete. Total time: 00:00:40

Benchmark            Mode  Cnt   Score   Error  Units
SumLine.testStream   avgt   10  56,913 ± 1,231  ns/op
SumLine.testStream2  avgt   10  63,267 ± 2,041  ns/op
SumLine.testSumm     avgt   10  13,923 ± 0,953  ns/op



где testStream2

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
   @Benchmark
    public void testStream2(Blackhole bh) {
        bh.consume(stream2());
    }

  public int stream2() {
        return digits.chars().map(i -> i - '0').sum();
    }


...
Рейтинг: 0 / 0
25 сообщений из 54, страница 2 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / Убираем пробелы в начале и конце строки, дак как все-таки?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]