Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как вывести на экран только инициалы Java 
V
    Опции темы
KatrinIceLand
Дата 2.9.2006, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 16.3.2006

Репутация: нет
Всего: нет



Не могу найти правильный способ вывода на экран только инициалов при введении юзером своего полного имени. Подскажите как считывать только первые буквы в словах  smile 
Начало у меня такое:
Код

public class Names
{
  public static void main(String argv[])
  {
    System.out.println("Hello, type your full name");
    char firstLetter = SavitchIn.readChar();
    System.out.printl(firstLetter);              //первую букву читаю.. а что дальше?
    
    

    String junk = SavitchIn.readLine();
  }
}


первую букву читаю.. а что дальше?
--------------------
[... кто изобрел математику? А зачем?...
PM MAIL   Вверх
powerOn
Дата 2.9.2006, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 47
Всего: 159



Вот грубый пример. 
1) Читаем строку  консоли.
2) Разбиваем её на слова.
3) Выводим на консоль первую букву каждого полученного слова на экран в верхнем регистре.

Код

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {

    public Main() {
    }
    
    public static void main(String[] args) {
        // оборачиваем поток ввода в BufferedReader, для более удобного чтения строки.
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try {
            // Читаем строку.
            String str = br.readLine();
            // Разбиваем строку на слова.
            StringTokenizer stk = new StringTokenizer(str, " ");
            // Выводим на консоль первую букву каждого полученного слова на экран в верхнем регистре.
            while(stk.hasMoreTokens()) {
                System.out.print("" + stk.nextToken().substring(0,1).toUpperCase() + " ");
            }
            
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
    
}


Это сообщение отредактировал(а) MoonCat - 2.9.2006, 16:34


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
KatrinIceLand
Дата 2.9.2006, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 16.3.2006

Репутация: нет
Всего: нет



А есть способ попроще? Мы такие слова как BufferedReader и StringTokenizer еще и не проходили даже  smile 
В любом случае спасибо!
--------------------
[... кто изобрел математику? А зачем?...
PM MAIL   Вверх
powerOn
Дата 2.9.2006, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 47
Всего: 159



Цитата(KatrinIceLand @  2.9.2006,  17:55 Найти цитируемый пост)
Мы такие слова как BufferedReader и StringTokenizer еще и не проходили даже

Ну так проиди их самостоятельно!  smile Тем более ничего сложного на самом деле здесь нет.  Не стоит бояться познавать новое.  smile 


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
KatrinIceLand
Дата 2.9.2006, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 16.3.2006

Репутация: нет
Всего: нет



Цитата

Ну так проиди их самостоятельно!   Тем более ничего сложного на самом деле здесь нет.  Не стоит бояться познавать новое. 

да я не боюсь, просто у меня в учебнике для input приводятся примеры только SavichIn.readLineInt(); SavichIn.readLineNonwhiteChar(); SavichIn.readLine(); SavichIn.readInt() и я не могу найти ни один пример читающий например только пробелы или какой-нибудь другой способ для решения моей задачи. Я знаю что нет ничего сложного. Просто это первая моя задача на Java.. Может есть другой, более элементарный способ для решения этой задачи  smile 
--------------------
[... кто изобрел математику? А зачем?...
PM MAIL   Вверх
Antropoid
Дата 3.9.2006, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 786
Регистрация: 1.6.2006
Где: &Ukraine==Ode ssa

Репутация: 2
Всего: 16



Вот тебе пример по-легче.
Код

public class Names
{
  public static void main(String argv[])
  {
    System.out.println("Hello, type your full name");
    char firstLetter = SavitchIn.readChar(); 
    System.out.println(String.valueOf(firstLetter).toUpperCase());//первую букву читаю.. а что дальше?
    byte b[] = new byte[1];
    int off = 1;
    boolean  can_write = false;
    while(SavitchIn.read(b,off,1) != -1) {
     if(can_write) {
         System.out.println(new String(b).toUpperCase());
         can_write = false;
     }
     if(b[0] == 32)//встретился пробел
         can_write = true;
     off++;
    }

    String junk = SavitchIn.readLine();    
  }
}



--------------------
user posted image
Задыхаясь от восторга заниматься чепухой. 
PM MAIL   Вверх
KatrinIceLand
Дата 5.9.2006, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 16.3.2006

Репутация: нет
Всего: нет



Спасибо! Вот это более понятный вариант.  smile 
--------------------
[... кто изобрел математику? А зачем?...
PM MAIL   Вверх
Antropoid
Дата 5.9.2006, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 786
Регистрация: 1.6.2006
Где: &Ukraine==Ode ssa

Репутация: 2
Всего: 16



Та ладно smile , всегда рад помочь...


--------------------
user posted image
Задыхаясь от восторга заниматься чепухой. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0927 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.