powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / объем кода
24 сообщений из 24, страница 1 из 1
объем кода
    #38317126
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал я слегка разобраться с питоном, ниже код, потом дай, думаю, напишу-ка я это на джаве, в меру того что знаю, и вот шо получилось... Че-то код на джаве смотрится страшновато))) Может с джавой перемудрил, поправьте если что.

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
pyg = 'ay'
word = raw_input('Enter a word:')
if len(word) > 0 and word.isalpha():
    word = word.lower()
    first = word[0]
    if first in "aeiou":
        print (word + pyg)
    else:
        print (word[1:] + first + pyg)
else:
    print 'empty or not alpha'


Код: 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.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class myClass {
    public static void main(String[] args) throws IOException {
        String pyg="ay";
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Enter a word: ");
        String word=reader.readLine();
        if (word.length() > 0 & isChar(word)) {
            word.toLowerCase();
            Character ch=word.charAt(0);
            if (ch=='a' || ch=='e' || ch=='i' || ch=='o' || ch=='u') {
                System.out.println(word + pyg);
            } else System.out.println( word.substring(1,word.length()) + ch + pyg);
        } else System.out.println("empty or not alpha");
    }
    public static boolean isChar(String word) {
        for(Character ch: word.toCharArray()) {
            if (!Character.isLetter(ch)) return false;
        }
        return true;
    }
}
...
Рейтинг: 0 / 0
объем кода
    #38317144
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Избыточность Java, как языка, с лихвой компенсируется наличием самых продвинутых IDE, которых для других языков не имеется. Ну, и, конечно, странно сравнивать на задаче обработке текста. Ведь это конёк именно питона.
...
Рейтинг: 0 / 0
объем кода
    #38317175
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще один конек Питона -- "batteries included", что мы немного и видим.

Но если заменить излишества типа word.substring(1,word.length()) и if (ch=='a' || ch=='e' ... на более короткие, то "батареечновключенность" будет заметна только на raw_input, что как бы позволяет сказать "ну и фиг с ним".
...
Рейтинг: 0 / 0
объем кода
    #38317203
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
if (word.length() > 0 & isChar(word)) {
            word.toLowerCase();
            Character ch=word.charAt(0);
            if (ch=='a' || ch=='e' || ch=='i' || ch=='o' || ch=='u') {


Вот это всё, кстати, выкидывается через regex. Что-то типа такого:
String.matches("[aeiou]{1}.*")
...
Рейтинг: 0 / 0
объем кода
    #38317207
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
word.substring(1,word.length()) - тоже не понятно что это. word.substring(1) же есть.
...
Рейтинг: 0 / 0
объем кода
    #38317209
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Консоль можно читать через Scanner, чтобы не привязываться к переносу строки.
...
Рейтинг: 0 / 0
объем кода
    #38317231
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczString.matches("[aeiou]{1}.*")

"aeiou".indexOf(ch) не?
...
Рейтинг: 0 / 0
объем кода
    #38317242
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. Sak"aeiou".indexOf(ch) не?
Блин, точно. Вертелось что-то подобное в голове, но сформулировать на вскидку не смог.
...
Рейтинг: 0 / 0
объем кода
    #38317265
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczword.substring(1,word.length()) - тоже не понятно что это. word.substring(1) же есть.
word.substring(1,word.length()) с первого по индексу символа до конца, а word.substring(1) - только один символ
...
Рейтинг: 0 / 0
объем кода
    #38317271
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174Blazkowiczword.substring(1,word.length()) - тоже не понятно что это. word.substring(1) же есть.
word.substring(1,word.length()) с первого по индексу символа до конца, а word.substring(1) - только один символ

По-моему JavaDoc к этому методу с вами не очень согласен:
RTFM "unhappy".substring(2) returns "happy"
"Harbison".substring(3) returns "bison"
...
Рейтинг: 0 / 0
объем кода
    #38317276
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,
вот блин, точно
...
Рейтинг: 0 / 0
объем кода
    #38317281
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может я туплю, но разве это

Код: java
1.
if (word.length() > 0 & isChar(word)) {


правильно? Точно не
Код: java
1.
if (word.length() > 0 && isChar(word)) {

?
...
Рейтинг: 0 / 0
объем кода
    #38317289
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кратко и не понятно:
Код: java
1.
2.
3.
4.
5.
6.
7.
System.out.println(
  word.matches("p{Alpha}+") 
      ? "aeiouAEIOU".indexOf(word.getCharAt(0)) >= 0
          ? word + pyg
          : word.substring(1) + word.getCharAt(0) + pyg;
      : "empty or not alpha"
);
...
Рейтинг: 0 / 0
объем кода
    #38317296
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никМожет я туплю, но разве это

Код: java
1.
if (word.length() > 0 & isChar(word)) {


правильно? Точно не
Код: java
1.
if (word.length() > 0 && isChar(word)) {

?
Если амперсанд один, то всегда вычисляются оба выражения, правое и левое.
Если ампрерсанда два, то если левое будет false, то правое вычислять нет смысла и оно скипается.
&& в данном случае, конечно же логичнее как и String.isEmpty();
...
Рейтинг: 0 / 0
объем кода
    #38317385
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczAlexander A. Sak"aeiou".indexOf(ch) не?
Блин, точно. Вертелось что-то подобное в голове, но сформулировать на вскидку не смог.

если правильно понял, то "aeiou".indexOf(ch) покажет индекс ch, но у нас проверка на вхождение
Код: java
1.
2.
Character ch=word.charAt(0);
if (ch=='a' || ch=='e' || ch=='i' || ch=='o' || ch=='u') { ...
...
Рейтинг: 0 / 0
объем кода
    #38317387
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rema174Blazkowiczпропущено...

Блин, точно. Вертелось что-то подобное в голове, но сформулировать на вскидку не смог.

если правильно понял, то "aeiou".indexOf(ch) покажет индекс ch, но у нас проверка на вхождение
Код: java
1.
2.
Character ch=word.charAt(0);
if (ch=='a' || ch=='e' || ch=='i' || ch=='o' || ch=='u') { ...


разве что так "aeiou".indexOf(ch)=0
...
Рейтинг: 0 / 0
объем кода
    #38317390
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
т.е.==
...
Рейтинг: 0 / 0
объем кода
    #38317413
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все-таки >= )))))
...
Рейтинг: 0 / 0
объем кода
    #38317417
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174,

Вы специально все коментарии до конца не читаете? 14511056
...
Рейтинг: 0 / 0
объем кода
    #38317427
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczrema174,

Вы специально все коментарии до конца не читаете? 14511056

не понял... два амперсанда правильнее, это да, и String.isEmpty() лучше... и?
...
Рейтинг: 0 / 0
объем кода
    #38317430
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174не понял... два амперсанда правильнее, это да, и String.isEmpty() лучше... и?
Не ту ссылку скопировал. Вот: 14511030
...
Рейтинг: 0 / 0
объем кода
    #38317441
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczrema174не понял... два амперсанда правильнее, это да, и String.isEmpty() лучше... и?
Не ту ссылку скопировал. Вот: 14511030
ах, вы про это... все верно и, на первый вгляд, "не понятно"
...
Рейтинг: 0 / 0
объем кода
    #38317876
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
еще один ньюанс,
word.toLowerCase();
word=word.toLowerCase();
...
Рейтинг: 0 / 0
объем кода
    #38320325
magicprinc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавляем к этому Google Guava e.g.

String word = CharStreams.toString(new InputStreamReader(System.in))

CharMatcher.JAVA_LETTER.matchesAllOf(word)
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / объем кода
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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