powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Оператор if (Вопрос новичка)
12 сообщений из 12, страница 1 из 1
Оператор if (Вопрос новичка)
    #38775950
IShapovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Solution
{
    public static void main(String[] args) throws IOException
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String s = "один два 0три 8четыре 1пять 6шесть :восемнадцать двадцать 'девять";
        char[] arrS = s.toCharArray();
        arrS[0] = Character.toUpperCase(arrS[0]);

        for (int i = 0; i < arrS.length - 1; i++) {
            if (arrS[i] == ' ' && arrS[i] == 0 | !Character.isLetter(arrS[i]) && Character.isLetter(arrS[i + 1]))
                arrS[i + 1] = Character.toUpperCase(arrS[i +1 ]);
        }
        String string = new String(arrS);
        System.out.print(string);
    }
}


Вывод:
Один Два 0три 8четыре 1пять 6шесть :восемнадцать Двадцать 'девять

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Solution
{
    public static void main(String[] args) throws IOException
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String s = "один два 0три 8четыре 1пять 6шесть :восемнадцать двадцать 'девять";
        char[] arrS = s.toCharArray();
        arrS[0] = Character.toUpperCase(arrS[0]);

        for (int i = 0; i < arrS.length - 1; i++) {
            if (arrS[i] == ' ' | !Character.isLetter(arrS[i]) && Character.isLetter(arrS[i + 1]))
                arrS[i + 1] = Character.toUpperCase(arrS[i +1 ]);
        }
        String string = new String(arrS);
        System.out.print(string);
    }
}


Вывод:
Один Два 0Три 8Четыре 1Пять 6Шесть :Восемнадцать Двадцать 'Девять


Вопрос:
Почему при добавление в условие && arrS[i] == 0 регистр букв не меняется не только после 0 но и после остальных цифр и символов?(Заранее извиняюсь за глупый вопрос)
...
Рейтинг: 0 / 0
Оператор if (Вопрос новичка)
    #38775955
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выражение
arrS[i] == ' ' && arrS[i] == 0
всегда ложно
Потому что ' ' и 0 это два разных символа. Одна переменная не может одновременно иметь два разных значения.
http://en.wikipedia.org/wiki/ASCII
...
Рейтинг: 0 / 0
Оператор if (Вопрос новичка)
    #38775980
IShapovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понял, спасибо. Протупил и перепутал "и" с "или".

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class Solution
{
    public static void main(String[] args) throws IOException
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String s = "мама мыла 0раму";
        char[] arrS = s.toCharArray();
        arrS[0] = Character.toUpperCase(arrS[0]);

        for (int i = 0; i < arrS.length - 1; i++) {
            if (false | !Character.isLetter(arrS[i]) && Character.isLetter(arrS[i + 1]))
                arrS[i + 1] = Character.toUpperCase(arrS[i +1 ]);
        }
        String string = new String(arrS);
        System.out.print(string);

    }


Вывод:
Один Два 0Три 8Четыре 1Пять 6Шесть :Восемнадцать Двадцать 'Девять

Вопрос:
Почему результат отличается от варианта с условием && arrS[i] == 0
...
Рейтинг: 0 / 0
Оператор if (Вопрос новичка)
    #38775989
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что по вашему делает этот код?
Вы понимаете внем каждый метод и операцию, или нет?
Если не понимаете, то какую конретно? Или весь код не понимаете?
Почему просто не задать вопрос о непонятном участке кода, вместо того чтобы предлагать читателям разобраться что же вы от него добиваетесь?
И знаете ли вы что arrS и arse читаются очень одинаково?
...
Рейтинг: 0 / 0
Оператор if (Вопрос новичка)
    #38775993
IShapovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не нашёл кнопку редактирование сообщения.
Вопрос:
Почему результат отличается от варианта с условием arrS[i] == ' ' && arrS[i] == 0
...
Рейтинг: 0 / 0
Оператор if (Вопрос новичка)
    #38775998
IShapovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Код: java
1.
2.
 if (false | !Character.isLetter(arrS[i]) && Character.isLetter(arrS[i + 1]))
                arrS[i + 1] = Character.toUpperCase(arrS[i +1 ]);


не совсем понимаю.
...
Рейтинг: 0 / 0
Оператор if (Вопрос новичка)
    #38776007
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IShapovalovBlazkowicz,

Код: java
1.
2.
 if (false | !Character.isLetter(arrS[i]) && Character.isLetter(arrS[i + 1]))
                arrS[i + 1] = Character.toUpperCase(arrS[i +1 ]);


не совсем понимаю.

булеву алгебру? класс Character? работу с массивами?
...
Рейтинг: 0 / 0
Оператор if (Вопрос новичка)
    #38776103
IShapovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
класс Character
...
Рейтинг: 0 / 0
Оператор if (Вопрос новичка)
    #38776123
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IShapovalovкласс Character
Вот тут есть описание методов
http://docs.oracle.com/javase/7/docs/api/java/lang/Character.html
...
Рейтинг: 0 / 0
Оператор if (Вопрос новичка)
    #38776130
IShapovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
if (arrS[i] == ' ' && arrS[i] == 0 | !Character.isLetter(arrS[i]) && Character.isLetter(arrS[i + 1]))
если не равняется пробелу и нулю или не является буквой и не является буквой перейти на следующий
...
Рейтинг: 0 / 0
Оператор if (Вопрос новичка)
    #38776137
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IShapovalovили не является буквой и не является буквой
...
Рейтинг: 0 / 0
Оператор if (Вопрос новичка)
    #38776146
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IShapovalovif (arrS[i] == ' ' && arrS[i] == 0 | !Character.isLetter(arrS[i]) && Character.isLetter(arrS[i + 1]))
если не равняется пробелу и нулю или не является буквой и не является буквой перейти на следующий
Где там " не равняется пробелу" ?
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Оператор if (Вопрос новичка)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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