Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 12

Ошибка в условие

04.04.2013, 19:54. Показов 747. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня возникает ошибка при сравнении чара.
По идее условие должно выполнятся только если первая буква слова не гласная, но оно выполняется на все буквы.
Использование StringBuffer обязательно. Подскажите, где ошибка

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
import java.util.StringTokenizer;
 
public class main {
    public static int i, n;
    public static boolean orly = false;
    public static StringBuffer input, b, tokenStr;
    public static StringTokenizer out;
    public static char aChar;
 
    public static void main(String[] args) {
        input = new StringBuffer(
                "This Str3in5g r$ep)lace E`xa.,mp\\le ashosa how ^t-o replace ane char oпривет from String");
        b = new StringBuffer(input.toString().replaceAll("[^a-z A-Z А-Я а-я]",
                ""));
        if (b.toString().trim().length() != 0) {
            out = new StringTokenizer(b.toString());
            System.out.println("Начальная строка - " + input.toString());
            System.out.println("Форматированая строка - " + b.toString());
            n = (out.countTokens());
            for (i = 0; i <= n - 1; i++) {
                tokenStr = new StringBuffer(out.nextToken());
                aChar = (tokenStr.charAt(0));
                System.out.println(aChar);
                if ((tokenStr.charAt(0) != 'a') || (tokenStr.charAt(0) != 'A')
                        || (tokenStr.charAt(0) != 'e')
                        || (tokenStr.charAt(0) != 'E')
                        || (tokenStr.charAt(0) != 'i')
                        || (tokenStr.charAt(0) != 'I')
                        || (tokenStr.charAt(0) != 'o')
                        || (tokenStr.charAt(0) != 'O')
                        || (tokenStr.charAt(0) != 'u')
                        || (tokenStr.charAt(0) != 'U')
                        || (tokenStr.charAt(0) != 'y')
                        || (tokenStr.charAt(0) != 'Y')
                        || (tokenStr.charAt(0) != 'а')
                        || (tokenStr.charAt(0) != 'А')
                        || (tokenStr.charAt(0) != 'е')
                        || (tokenStr.charAt(0) != 'Е')
                        || (tokenStr.charAt(0) != 'ё')
                        || (tokenStr.charAt(0) != 'Ё')
                        || (tokenStr.charAt(0) != 'и')
                        || (tokenStr.charAt(0) != 'И')
                        || (tokenStr.charAt(0) != 'о')
                        || (tokenStr.charAt(0) != 'О')
                        || (tokenStr.charAt(0) != 'у')
                        || (tokenStr.charAt(0) != 'У')
                        || (tokenStr.charAt(0) != 'ы')
                        || (tokenStr.charAt(0) != 'Ы')
                        || (tokenStr.charAt(0) != 'э')
                        || (tokenStr.charAt(0) != 'Э')
                        || (tokenStr.charAt(0) != 'ю')
                        || (tokenStr.charAt(0) != 'Ю')
                        || (tokenStr.charAt(0) != 'я')
                        || (tokenStr.charAt(0) != 'Я')) {
                    b.delete(b.indexOf(tokenStr.toString()),
                            b.indexOf(tokenStr.toString()) + tokenStr.length()
                                    + 1);
                    System.out.println(b);
                }
            }
        } else {
            System.out.println("Пустая строка");
        }
    }
 
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.04.2013, 19:54
Ответы с готовыми решениями:

В условие ошибка?
В задачке написано, если x&lt;0, то найти lnx? Разве по условие логарифмов x не должен быть только больше нуля? Ну я решил что там очепятка...

Ошибка выполнения запроса с условие WHERE . IN (SELECT .)
Есть у меня в базе данных 2 таблицы: Securities, где хранятся ценные бумаги, и tempEQE06, где хранятся сделки. У меня был написан запрос,...

Условие вне action-а -- это ошибка?
Возникает ошибка если екшен обгорнуть в условие--вот так. if(isset($_COOKIE)==11) { public function actionLogin() ...

7
 Аватар для Федя Форточкин
69 / 83 / 33
Регистрация: 09.12.2012
Сообщений: 222
Записей в блоге: 3
04.04.2013, 20:02
antoxa2584, пробуй построить условие так:
Java
1
if (!tokenStr.chatAt(0).equals("a")) {
0
 Аватар для AckiyBolt
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
04.04.2013, 20:06
дам подсказку: оно выполняется когда первая буква не "а". а когда она "а" то когда она не "А". и т.д.
0
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 12
04.04.2013, 20:35  [ТС]
Цитата Сообщение от Федя Форточкин Посмотреть сообщение
antoxa2584, пробуй построить условие так:
Java
1
if (!tokenStr.chatAt(0).equals("a")) {
Чар со стрингом сравнить нельзя

Добавлено через 39 секунд
Цитата Сообщение от AckiyBolt Посмотреть сообщение
дам подсказку: оно выполняется когда первая буква не "а". а когда она "а" то когда она не "А". и т.д.
Понял
А как правильно тогда?
0
 Аватар для AckiyBolt
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
04.04.2013, 20:45
не хочет народ думать...
поменяйте короткое ИЛИ на короткое И и все у вас будет работать

к стати, оставьте в регулярке только один пробел, остальные поубивайте. квадратные скобки означают что-то вроде множества
1
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 12
04.04.2013, 21:00  [ТС]
Цитата Сообщение от AckiyBolt Посмотреть сообщение
не хочет народ думать...
поменяйте короткое ИЛИ на короткое И и все у вас будет работать

к стати, оставьте в регулярке только один пробел, остальные поубивайте. квадратные скобки означают что-то вроде множества
Огромное спасибо)))))

Добавлено через 8 минут
Может еще подскажете как сортировку сделать по второму элементу токена в алфавитном порядке?
0
 Аватар для AckiyBolt
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
05.04.2013, 13:19
и гуглить народ тоже не хочет...
http://www.javaportal.ru/java/articles/sort.html
0
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 12
05.04.2013, 14:30  [ТС]
Цитата Сообщение от AckiyBolt Посмотреть сообщение
и гуглить народ тоже не хочет...
http://www.javaportal.ru/java/articles/sort.html
Спасибо. Просто еще не очень шарю джаву.

У меня другая проблема возникла. Поскольку сортировать нужно по второму символу, то нужно удалить также слова длинной меньше двух букв. Вот доделал код, а они не удаляются. Долго мучался, но так и не понял почему

Может кто то обяснить, что именно не так?

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
import java.util.Arrays;
import java.util.StringTokenizer;
 
public class main {
    public static int i, n;
    public static boolean orly = false;
    public static StringBuffer input, tokenStr;
    public static StringTokenizer out;
    public static char aChar;
 
    public static void main(String[] args) {
        input = new StringBuffer(
                "This Str3in5g r$ep)lace E`xa.,mp\\le ashosa a how ^t-o replace ane char oпривет from String");
        System.out.println("Начальная строка - " + input.toString());
        input = new StringBuffer(input.toString().replaceAll(
                "[^a-z A-Z А-Я а-я]", ""));
        if (input.toString().trim().length() != 0) {
            out = new StringTokenizer(input.toString());
            System.out.println("Форматированая строка - " + input.toString());
            n = (out.countTokens());
            for (i = 0; i <= n - 1; i++) {
                tokenStr = new StringBuffer(out.nextToken());
                aChar = (tokenStr.charAt(0));
                if (tokenStr.length() > 1) {
                    if ((tokenStr.charAt(0) != 'a') && (tokenStr.charAt(0) != 'A')
                            && (tokenStr.charAt(0) != 'e')  && (tokenStr.charAt(0) != 'E')
                            && (tokenStr.charAt(0) != 'i')  && (tokenStr.charAt(0) != 'I')
                            && (tokenStr.charAt(0) != 'o')  && (tokenStr.charAt(0) != 'O')
                            && (tokenStr.charAt(0) != 'u')  && (tokenStr.charAt(0) != 'U')
                            && (tokenStr.charAt(0) != 'y')  && (tokenStr.charAt(0) != 'Y')
                            && (tokenStr.charAt(0) != 'а') && (tokenStr.charAt(0) != 'А')
                            && (tokenStr.charAt(0) != 'е') && (tokenStr.charAt(0) != 'Е')
                            && (tokenStr.charAt(0) != 'ё') && (tokenStr.charAt(0) != 'Ё')
                            && (tokenStr.charAt(0) != 'и') && (tokenStr.charAt(0) != 'И')
                            && (tokenStr.charAt(0) != 'о') && (tokenStr.charAt(0) != 'О')
                            && (tokenStr.charAt(0) != 'у') && (tokenStr.charAt(0) != 'У')
                            && (tokenStr.charAt(0) != 'ы') && (tokenStr.charAt(0) != 'Ы')
                            && (tokenStr.charAt(0) != 'э') && (tokenStr.charAt(0) != 'Э')
                            && (tokenStr.charAt(0) != 'ю') && (tokenStr.charAt(0) != 'Ю')
                            && (tokenStr.charAt(0) != 'я') && (tokenStr.charAt(0) != 'Я')) {
                        input.delete(
                                input.indexOf(tokenStr.toString()),
                                input.indexOf(tokenStr.toString())
                                        + tokenStr.length() + 1);
                    }
                } else {
                    input.deleteCharAt(input.indexOf(tokenStr.toString()));
                }
            }
            /* out = new StringTokenizer(input.toString());
            n = (out.countTokens());
            System.out.println("Слова, которые начинаются на гласную - "
                    + input);
            if (input.length() != 0) {
                for (int i = 0; i < n - 1; i++) {
                    out = new StringTokenizer(input.toString());
                    tokenStr = new StringBuffer(out.nextToken());
                    aChar = (tokenStr.charAt(1));
                    System.out.println(input);
                }
            }*/
        } else {
            System.out.println("Пустая строка");
        }
    }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.04.2013, 14:30
Помогаю со студенческими работами здесь

Ошибка в программе. Условие: удалить первый элемент кратный трем
Программа есть, но как я понял(по словам учителя), НУЖНО САМОМУ ВВОДИТЬ ЭЛЕМЕНТЫ МАССИВА, а у меня сразу выводится результат от 1 до 10 с...

Условие на VBA для проверки логического типа данных, ошибка
Здравствуйте! У меня в форме есть логический флажок, называется он . Мне нужно, чтобы когда он был включен - поле ДатаВозврКн автоматически...

Выполнить условие после нахождения ошибок в строке типа #н/д! #дел/0! т.д. (ошибка в макросе)
Здравствуйте уважаемые форумчане! Помогите найти ошибку в коде макроса и исправить ее. Смысл в том, что макрос должен на листе...

Условие if. Как сделать повтор выполнения if-а, если условие не удовлетворяет требованиям в данный момент
Суть вопроса такова. В процессе работы программы запускается несколько потоков. Один из них выполняет бесконечный цикл, в котором каждую...

Условные операторы. Будет ли проверено условие condition2, если первое условие condition1 ложно?
Подскажите знающие люди новичку в С++ есть условный оператор: 1) if( condition1 &amp;&amp; condition2 ) будет ли проверено условие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru