Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: не получается задание из учебника  (Прочитано 9637 раз)
0 Пользователей и 1 Гость смотрят эту тему.
bannndi
Гость
« : 18-03-2009 20:42 » 

По заданию программа должна посчитать кол-во строк, слов, символов и выдать результат.
Весь текст из учебника перепечатал, но не запустить выполнение кода - idea обругала всю строку "System.out.println("\t" + numLines + "\t" + numWords + "\t" + numChars);",

и еще говорит, что "add method body" после "public static void main(String args[]);"
В общем код не работает пока, кто может помочь?


Код:
public class WordCount
{
//задаем текстовую строку
  static String text = "Основы программирования\n" + "на языке Java\n" + "для начинающих\n" + "разработчиков\n";
//получаем длину строки
  static int len = text.lenght();
  public static void main(String args[]);
{
   boolean inWord = false;
   int numChars = 0; //переменная для хранения количества символов в тексте
   int numWords = 0; //переменная для хранения количества слов в тексте
   int numLines = 0; //переменная для хранения количества строк в тексте
//организуем цикл по длине текстовой строки
    for(int i = 0; i<len; i++)
    {
     char c = text.charAt(i);//преобразуем элемент текстовой строки в символ
     numChars++;//увеличиваем на 1 счетчик символов
     switch(c)
     {
      case'\n': numLines++;//если символ перевода строки, то увеличиваем счетчик строк на 1
      numWords++;
      inWord = false;

     break;
     default: inWord = true;
     }   
    }
  }
 System.out.println("\t" + numLines + "\t" + numWords + "\t" + numChars);
//выводим на консоль количество строк, слов и символов в текстовой строке
}
Записан
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 18-03-2009 20:54 » 

На "public static void main(String args[]);" обругало правильно: точка с запятой на конце в данном случае - лишняя, поскольку следом идёт определение функции.
Строка с System.out.println вообще не попала в функцию, поэтому тоже была обругана вполне обоснованно.
Записан
bannndi
Гость
« Ответ #2 : 18-03-2009 21:14 » 

Понял, исправил, спасибо!
Еще здесь  "static int len = text.lenght();" пишет "Cannot resolve method lenght()" - пока не запускается код
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #3 : 18-03-2009 21:28 » 

1) len лучше инициализируй в методе main.
2) для определения количества строк и слов рекомендую использовать StringTokenizer, меньше кода будет и проще.
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #4 : 18-03-2009 21:39 » 

здесь  "static int len = text.lenght();" пишет "Cannot resolve method lenght()"

Вот мой код (всё работает отлично):
Код:
package pack1;

class Main {
    public static void main(String[] args) {
//        someint = s.length();
        System.out.println(someint);
    }
    private static String s = new String("somestring");
    private static int someint = s.length();
}
Записан
bannndi
Гость
« Ответ #5 : 18-03-2009 22:00 » 

Вот мой код (всё работает отлично):
Работает, хорошо! Inkognito, а StringTokenizer подойдет только для слов и строк - или и для символов тоже? Примерчик с StringTokenizer не напишете?
« Последнее редактирование: 20-03-2009 13:02 от Finch » Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #6 : 18-03-2009 22:11 » 

Пример для строк:
Код:
    ...
    String s = new String("abc \n defg \n");
    StringTokenizer st = New StringTokenizer(s, "\n");
    ...
после чего метод countTokens() возвратит количество строк.

А для символов и s.length() подойдёт. На крайняк можно отнять кол. строк.
Записан
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 19-03-2009 05:26 » 

для определения количества строк и слов рекомендую использовать StringTokenizer, меньше кода будет и проще.
Удобство и краткость - это, конечно, хорошо, но и программировать надо учиться. В частности, понимать, как оно устроено и работает. Так что поначалу лучше не лениться и всё делать руками.
Записан
bannndi
Гость
« Ответ #8 : 19-03-2009 20:20 » 

К сожалению, мне до вашего уровня очень далеко, так что это задание я провалил, - может позже получится его сделать.Буду другое задание делать пока)) Всем спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines