Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/165: Рейтинг темы: голосов - 165, средняя оценка - 4.85
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452

Заменить в тексте первые буквы всех слов на заглавные

10.06.2016, 16:25. Показов 33376. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброй ночи !
Есть такое задание

/* Мама Мыла Раму. Теперь с большой буквы
Написать программу, которая вводит с клавиатуры строку текста.
Программа заменяет в тексте первые буквы всех слов на заглавные.
Вывести результат на экран.

Пример ввода:
мама мыла раму.

Пример вывода:
Мама Мыла Раму.
*/

Задачу решил. Но мне кажется что я выбрал какой-то геморойный путь.

Может кто подкинет вариант попроще ?

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
public class Solution
{
    public static void main(String[] args) throws IOException
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        char c;
        boolean l = false;
        String s = reader.readLine();
        String str[] = new String[s.length()];
        for (int i=0;i<str.length;i++)
        {
            c = s.charAt(i);
            if (c != ' ')
            {
                str[i] = Character.toString(c);
                if (!l)
                {
                    str[i] = str[i].toUpperCase();
                    l = true;
                }
            }
            else
            {
                str[i] = Character.toString(c);
                l = false;
            }
 
        }
        s = "";
        for (String a : str) s += a;
        System.out.print(s);
    }
 
 
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.06.2016, 16:25
Ответы с готовыми решениями:

Ввести строку и заменить в ней первые буквы всех слов на заглавные
Разработать программу, которая вводит строку и заменяет в ней первые буквы всех слов на заглавные (если слово начинается с заглавной буквы,...

Заменить первые буквы всех слов на заглавные
Разработать программу, которая вводит текст и заменяет в ней первые буквы всех слов на заглавные (если слово начинается с заглавной буквы,...

Заменить первые буквы всех слов на заглавные
В среде MS Visual C++ разработать программу, которая вводит текст на русском языке и заменяет в нем первые буквы всех слов на заглавные...

17
51 / 51 / 23
Регистрация: 05.04.2010
Сообщений: 127
10.06.2016, 19:38
ну вот вариант покороче
Java
1
2
3
4
5
6
7
8
9
10
11
12
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        char[] chars = s.toCharArray();
        
        chars[0] = Character.toUpperCase(chars[0]);
        for (int i = 0; i < chars.length - 1; i++) {
            if (chars[i] == ' ') {
                chars[i + 1] = Character.toUpperCase(chars[i + 1]);
            }
        }
        s = new String(chars);
        System.out.println(s);
2
0 / 0 / 0
Регистрация: 10.06.2016
Сообщений: 2
10.06.2016, 21:47
Доброй ночи!
Увидела задание и решила попробовать написать программку, сама только начала изучать Java
Можно ли ее решить таким способом?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.util.*;
 
public class ExerciseInput {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner newString = new Scanner(System.in);
        String allStr[] = {newString.nextLine()} ;
        for (int i = 0; i < (allStr.length-1); i++)
        {
            System.out.printf(" %s", allStr[i].toUpperCase());
        }
    }
 
}
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
11.06.2016, 12:05  [ТС]
на ява раш Scanner применять не рекомендуют.

только такую конструкцию

Java
1
2
3
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
       
        String s = reader.readLine();
Цитата Сообщение от Liud Посмотреть сообщение
сама только начала изучать Java
советую ява раш
C++
1
qualls
а что если подряд идут несколько пробелов ?
0
51 / 51 / 23
Регистрация: 05.04.2010
Сообщений: 127
11.06.2016, 16:01
ничего не будет
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
11.06.2016, 17:48  [ТС]
?
Цитата Сообщение от qualls Посмотреть сообщение
ничего не будет
пробел до верхнего регистра нельзя преобразовать. и не надо.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
11.06.2016, 18:56
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
import java.util.Scanner;
 
class WordsToUppercase {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        while ( true ) {
            System.out.print("String: ");
            String s = scanner.nextLine();
            if ( "".equals(s) )
                break;
            
            StringBuilder sb = new StringBuilder(s.length());
            boolean inWord = false;
            for ( char c : s.toCharArray() ) {
                if ( Character.isWhitespace(c) )
                    inWord = false;
                else if ( ! inWord ) {
                    c = Character.toUpperCase(c);
                    inWord = true;
                }
                sb.append(c);
            }
            
            System.out.println("Result: " + sb.toString());
        }
    }
}
Цитата Сообщение от RAFA91 Посмотреть сообщение
на ява раш Scanner применять не рекомендуют.
Чем обосновывают?
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
12.06.2016, 12:53  [ТС]
Цитата Сообщение от easybudda Посмотреть сообщение
Чем обосновывают?
ну так почитайте сами. начальные уровни смотрите.
0
14.06.2016, 16:39

Не по теме:

Цитата Сообщение от RAFA91 Посмотреть сообщение
ну так почитайте сами. начальные уровни смотрите.
Это мило

0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
14.06.2016, 16:41
а я всегда говорил, что джавараш калечит мозги людей
1
14.06.2016, 18:20

Не по теме:

Паблито, Джавараш - он как Стивен Хокинг - популяризатор науки (Джавы), но если он вдруг сойдет с ума, то человечество просечет это лет через 10

0
502 / 348 / 134
Регистрация: 14.06.2016
Сообщений: 669
15.06.2016, 01:56
Java
1
2
3
4
5
6
7
8
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        Matcher mth = Pattern.compile("^\\w|\\W\\w").matcher(str);
        while (mth.find()) 
              str = str.replaceFirst(mth.group(), mth.group().toUpperCase());
        System.out.println(str);
    }
1
37 / 37 / 18
Регистрация: 21.06.2013
Сообщений: 271
Записей в блоге: 1
15.06.2016, 11:16
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 public static void main(String[] args) throws IOException
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String s = reader.readLine();
        char[] array = s.toCharArray();
        for (int i = 0; i < array.length; i++) {
            Character space = array[i];
            array[0] = Character.toUpperCase(array[0]);
 
            if (space.equals(' '))
            {
                array[i+1] = Character.toUpperCase(array[i+1]);
            }
        }
        System.out.println(array);
 
        
    }
0
 Аватар для Aviz__
2742 / 2051 / 507
Регистрация: 17.02.2014
Сообщений: 9,471
15.06.2016, 12:39
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package cyberforum;
 
public class CyberForum {
 
   private static String replaceFirstCharWordOfString(String input) {
        String [] tmpArr = input.split(" ");
        String result = "";
        for (int i = 0; i < tmpArr.length; i++) {
            if (tmpArr[i].length() > 1) {
                char oldFirst = tmpArr[i].charAt(0);
                result += tmpArr[i].substring(0,1).toUpperCase() + tmpArr[i].substring(1,tmpArr[i].length()) + " ";
            }
        }
        return result;
    }
    public static void main(String [] args) {
        String ss = "мама мыла раму, and bag";
        System.out.println(ss);
        System.out.println(replaceFirstCharWordOfString(ss));
    }
}
Bash
1
2
мама мыла раму, and bag
Мама Мыла Раму, And Bag
0
2 / 2 / 1
Регистрация: 06.06.2013
Сообщений: 4
15.06.2016, 18:41
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.util.*;
import java.io.PrintStream;
 
public class FirstLettersUpperLetters {
    public static void main(String[] args) {
    final PrintStream c = new PrintStream(System.out);
    Scanner s = new Scanner(System.in);
    c.println("Впишите строку :");
    String str = s.nextLine();
    String result = "";
    if(str != null) {
        if(str.charAt(0) != ' ') {
            result += str.substring(0, 1).toUpperCase();
        }
        for(int i = 1, n = str.length(); i < n; i++) {
            if(str.charAt(i - 1) == ' ' && str.charAt(i) != ' ')  {
                result += str.substring(i, i + 1).toUpperCase();
            } else {
                result += str.substring(i, i + 1);
            }
        }
    }
    c.println("Новая строка: \n" + result);
    }
}
1
502 / 348 / 134
Регистрация: 14.06.2016
Сообщений: 669
15.06.2016, 19:30
Java
1
2
3
4
5
6
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        for (Matcher m; (m = Pattern.compile("\\W?\\b[a-z]").matcher(str)).find(); str = m.replaceFirst(m.group().toUpperCase()));
        System.out.println(str);
    }
0
-2 / 0 / 0
Регистрация: 30.08.2014
Сообщений: 12
09.03.2017, 06:01
Цитата Сообщение от qualls Посмотреть сообщение
ну вот вариант покороче
Java
1
2
3
4
5
6
7
8
9
10
11
12
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        char[] chars = s.toCharArray();
        
        chars[0] = Character.toUpperCase(chars[0]);
        for (int i = 0; i < chars.length - 1; i++) {
            if (chars[i] == ' ') {
                chars[i + 1] = Character.toUpperCase(chars[i + 1]);
            }
        }
        s = new String(chars);
        System.out.println(s);
самый простой код, на мой взгляд!
0
0 / 0 / 0
Регистрация: 18.05.2017
Сообщений: 1
18.05.2017, 19:22
Java
1
2
3
4
5
6
7
8
9
10
public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String s = reader.readLine();
        Boolean up=true;
        for (char c: s.toCharArray()){
            if (up) c=Character.toUpperCase(c);
            up=false;
            if (c==' '){up=true;}
            System.out.print(c);
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.05.2017, 19:22
Помогаю со студенческими работами здесь

Первые буквы всех слов заменить на заглавные остальные буквы на строчные
Заголовок (Строка, в которой первые буквы всех слов заменены на заглавные остальные буквы на строчные, а друг)

Ввести текст на русском языке и заменить в нем первые буквы всех слов на заглавные
В среде MS Visual C++ разработать программу, которая вводит текст на русском языке и заменяет в нем первые буквы всех слов на заглавные...

Замените первые буквы всех слов на заглавные
Функции для работы со строками С++ Добрый вечер. Помогите,пожалуйста, с написанием кода. Дана строка, в которой слова разделены...

Заменить в строке все первые буквы слов на соответствующие заглавные
Здравствуйте! Нужна помощь. Нужно написать консольную программу которая выводит символьную строку. Заменить в строке все первые...

Заменить первые буквы в каждом слове строки на заглавные буквы
Задача: Заменить первые буквы в каждом слове строки на заглавные буквы. P.S. При помощи Edit , прошу скинуть мне полный код! заранее...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru