Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 28.06.2008, 10:55   #1
GoAnd
 
Регистрация: 24.06.2008
Сообщений: 4
По умолчанию Работа со строками

Здравствуйте!
Лишь совсем недавно я начал изучать JAVA.

Для лучшего понимания работы со строками я придумал себе задачку, которая заключается в следующем:
1. Разложить классическую строку "Hello World" посимвольно.
3. Перевести каждую букву текста в верхний регистр.
4. Результат вывести на экран (1 строка - 1 символ).

Делаю через цикл, в котором буквы извлекаются поочередно, затем переводятся в верхний регистр в конце-концов выводятся на экран.
И вот в таком простом деле я никак не могу избавиться от ошибки.
Проблемы начинаются при переводе букры в верхний регистр.

// мой код
String str2;
char count; // счетчик цикла
char letter; // буква строки

str2 = "Hello";
str2 += " ";
str2 = str2.concat("World!");

for (count = 0;
count < (str2.length());
count++)
{
letter = toUpperCase(str2.charAt(count));
System.out.println(letter);
} // for
// мой код

//текст ошибки
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method toUpperCase(char) is undefined for the type Str1
//текст ощибки

Пожалуйста, помогите мне найти и исправить ошибку.
GoAnd вне форума
Старый 28.06.2008, 12:13   #2
Старовъръ
Форумчанин
 
Аватар для Старовъръ
 
Регистрация: 25.06.2008
Сообщений: 100
По умолчанию

Java - это полностью объектно-ориентированный язык. Функция toUpperCase() не может быть вызвана без наличия объекта.
Код:
String str = "hello world";
str.toUpperCase();
P.S. когда возникает ошибка, указывай строку, в которой она произошла.
Старовъръ вне форума
Старый 28.06.2008, 13:47   #3
GoAnd
 
Регистрация: 24.06.2008
Сообщений: 4
По умолчанию

to Старовъръ

Как я понимаю, Вы предлагаете сначала ВСЮ строку перевести в верхний регистр, а после этого выводить каждую букву, правильно?
Хорошо, можно и так.
А как реализовать такую задачу: имея строку "Hello World" получить из нее строку "hELLO wORLD", т.е. перевести все буквы в противоположный регистр?

Последний раз редактировалось GoAnd; 28.06.2008 в 14:02.
GoAnd вне форума
Старый 28.06.2008, 15:50   #4
Старовъръ
Форумчанин
 
Аватар для Старовъръ
 
Регистрация: 25.06.2008
Сообщений: 100
По умолчанию

Нет, придется разбивать тогда по буквам:
Код:
String str = "Hello World";
		
		char [] chars = str.toCharArray();
		str = "";
		for(char c: chars)
		{
			if( Character.isLowerCase(c))
				c = Character.toUpperCase(c);
			else
				c = Character.toLowerCase(c);
			str += c;
		}
Старовъръ вне форума
Старый 28.06.2008, 18:33   #5
GoAnd
 
Регистрация: 24.06.2008
Сообщений: 4
По умолчанию

Ура! Заработало! (с) кот Матроскин.
Огромное спасибо, Старовъръ!
А что это за строка: char [] chars = str.toCharArray();
Можете объяснить? И где про это можно прочитать?
GoAnd вне форума
Старый 28.06.2008, 19:09   #6
Старовъръ
Форумчанин
 
Аватар для Старовъръ
 
Регистрация: 25.06.2008
Сообщений: 100
По умолчанию

Скачай с сайта Сана документацию. Там можно найти все для работы со стандартными классами и пакетами.
Цитата:
А что это за строка: char [] chars = str.toCharArray();
Метод toCharArray()(в массив char_ов). Переводит строку(String) в массив отдельных символов(char).

Последний раз редактировалось Старовъръ; 28.06.2008 в 19:10. Причина: надо
Старовъръ вне форума
Старый 28.06.2008, 19:40   #7
GoAnd
 
Регистрация: 24.06.2008
Сообщений: 4
По умолчанию

Спасибо!
Цитата:
Сообщение от Старовъръ Посмотреть сообщение
Скачай с сайта Сана документацию.
А можете дать прямую ссылку на документацию с описанием классов? Не могу найти...
GoAnd вне форума
Старый 28.06.2008, 20:18   #8
Старовъръ
Форумчанин
 
Аватар для Старовъръ
 
Регистрация: 25.06.2008
Сообщений: 100
По умолчанию

Здесь найди Java SE 6 Documentation

Кстати забыл. Когда распакуешь и запустишь документацию, перейти нужно по ссылке "API, Language, and VM Specs"(сверху по середине).

Последний раз редактировалось Stilet; 22.09.2010 в 07:40.
Старовъръ вне форума
Старый 22.09.2010, 00:48   #9
firm0n
Новичок
Джуниор
 
Регистрация: 22.09.2010
Сообщений: 1
По умолчанию

Привет всем
Помогите пожалуйста решить задачу
Есть str1 = "helloworld"
нужно получить
str2 = "he=ll=ow=or=ld"
То есть после n=2 символов вставить символ "="
Заранее благодарен

Последний раз редактировалось firm0n; 22.09.2010 в 02:21.
firm0n вне форума
Старый 22.09.2010, 03:36   #10
alexinspir
Новичок
Джуниор
 
Аватар для alexinspir
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

Цитата:
Сообщение от firm0n Посмотреть сообщение
Привет всем
Помогите пожалуйста решить задачу
Есть str1 = "helloworld"
нужно получить
str2 = "he=ll=ow=or=ld"
То есть после n=2 символов вставить символ "="
Заранее благодарен
StringBuilder/StringBuffer
методы insert этих классов вам помогут.

тему закрываю.
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.
alexinspir вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками. ViNcHeStEr Помощь студентам 6 29.06.2008 08:14
С, работа со строками Надюха Помощь студентам 2 29.05.2008 13:07
РАБОТА СО СТРОКАМИ kluwa Общие вопросы C/C++ 7 20.12.2007 18:30