Как узнать следующий символ в алфавитном порядке?

Добавляем к тому, на что ответил Штеини.

Вы можете создать класс ObjectNIterator, который управляет вашим ObjectN и реализует Iterator: http://php.net/manual/en/class.iterator.php

Из методаN вызовите классMethodM, который возвращает заполненный ObjectNIterator, затем передайте эти данные методуO, который ожидает ObjectNIterator:

public function methodO(ObjectNIterator $objectNCollection)

25
задан MAC 3 September 2009 в 22:23
поделиться

8 ответов

Попробуйте:

char letter = 'c';

if (letter == 'z')
    nextChar = 'a';
else if (letter == 'Z')
    nextChar = 'A';

else
    nextChar = (char)(((int)letter) + 1);

Таким образом, у вас не будет проблем, когда символ является последним в алфавите.

41
ответ дан Xavier Poinas 28 November 2019 в 18:17
поделиться

Обратите внимание, что символ будет неявно приведен к int. Вот упрощенное решение:

char incrementCharacter(char input)
{
    return (input == 'z'? 'a': (char)(input + 1));
}
6
ответ дан JoshL 28 November 2019 в 18:17
поделиться

Как сортировать? В немецком (я думаю) это должно сортироваться после a, но в шведском это должно следовать после å, которое в свою очередь идет после z. Это не тривиальный вопрос, если вы не ограничиваетесь английским языком.

0
ответ дан erikkallen 28 November 2019 в 18:17
поделиться

Попробуйте это:

public string GetNextAlphabetLetter(int indice) {
  return ((char)('A' + indice)).ToString();
}
0
ответ дан Daniel 28 November 2019 в 18:17
поделиться

Как насчет:

char first = 'c';
char nextChar = (char)((int) first + 1);
15
ответ дан 28 November 2019 в 18:17
поделиться

Преобразуйте символ в число, увеличьте число и затем преобразуйте обратно.

Но подумайте, что произойдет с «z» или «á» (латинская строчная буква A с острым ударением).

1
ответ дан 28 November 2019 в 18:17
поделиться

Возможно, самый простой способ - это небольшая функция и массив из 26 символов. Затем вы можете решить, что вы хотите вернуть за «z».

2
ответ дан 28 November 2019 в 18:17
поделиться

нужно просто добавить 1 в символ, чтобы получить следующий символ. Он работает со значениями ASCII.

0
ответ дан 28 November 2019 в 18:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: