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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Где ошибка? Помогите определить в чем причина. 
V
    Опции темы
IUser
Дата 30.5.2007, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



 Изучаю Java по самоучитель.  
Из книги набрал следующую програму 
Код

 class CarentThreadDemo {
    
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        // TODO code application logic here
        
        Thread t = Thread.currentThread();
        
        System.out.println(" Текущий поток " + t);
        // ReName
        t.setName ("My Thread");
        
        System.out.println(" После изменения имени " + t);
    
       try {
        for (int i= 5; i>0; i--) {
        
        System.out.println(i);
        
        Thread.sleep(1000);
               }
     }
        
     catch (InterruptedExeption e )  {                 !!!!!! ВЫДАЕТ ОШИБКУ, 
        
   System.out.println(" Главный поток завершен ");
      
       }
       
    }
    }

 При чем ошибка во всех пронрамках где содержиться строка  catch, помогите разобраться в чем причина.
PM MAIL   Вверх
Platon
Дата 30.5.2007, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

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



Код

public class CarentThreadDemo {


    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        // TODO code application logic here

        Thread t = Thread.currentThread();

        System.out.println(" Текущий поток " + t);
        // ReName
        t.setName ("My Thread");

        System.out.println(" После изменения имени " + t);

       try {
            for (int i= 5; i>0; i--) {
                System.out.println(i);
                Thread.sleep(1000);
         }
       }
        catch (InterruptedException e)  {
            System.out.println(" Главный поток завершен ");
        }
    }
}


Вот тебе работающий код.

Добавлено через 5 минут и 56 секунд
Пользуйся IDE: IDEA, Eclipse... подсвечивают все твои ошибки.
PM MAIL ICQ   Вверх
IUser
Дата 30.5.2007, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



 Скомпилировал, всёравно ошибка, может дело в настройках компилятора?
 
Compiling 1 source file to D:\java\Run\build\classes
D:\java\Run\src\run\NewThread.java:15: NewThread is not abstract and does not override abstract method run() in java.lang.Runnable
 class NewThread implements Runnable {
1 error
BUILD FAILED (total time: 0 seconds)

PM MAIL   Вверх
Platon
Дата 30.5.2007, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

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



что-то я у тебя не вижу NewThread в коде. Темнишь, не все до конца выкладываешь.

читай английский. написано "NewThread is not abstract and does not override abstract method run()", NewThread не абстрактный и не определяет абстрактный метод run(), дык ты его определи.
PM MAIL ICQ   Вверх
solve
Дата 30.5.2007, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А ты то компилировал что нужно.У тебя класс называется CarentThreadDemo,а ошибка вылезает в NewThread.java - другом файле.Видимо у тебя компилируется как минимум весь package,в классах которого могут быть ошибки.Попробуй закомментить NewThread.java и скомпилироват еще раз


Трошки не успелsmile

Это сообщение отредактировал(а) solve - 30.5.2007, 18:10
PM MAIL   Вверх
Maksym
Дата 30.5.2007, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

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



IUser
Показал одни исходники, а запускаешь другие.. Покажи NewThread.java. Хотя и так понятно, что он объявлен как реализующий интерфейс Runnable, а метод run() не переопределяет.. о чем компилятор честно написал

Добавлено через 1 минуту и 7 секунд
Ого как опоздал....  smile  smile  smile 
IUser, рейтинговый вопрос задал  smile   smile 
PM MAIL   Вверх
Platon
Дата 30.5.2007, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

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



Шо то я уже в тему не втыкну окончательно.

Давайте я тоже что-нибудь напишу, а потом сотру? Вот будет весело, когда вы перестанете ориентироваться в теме.
PM MAIL ICQ   Вверх
IUser
Дата 31.5.2007, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Извините что ввел в заблуждение, это потому что я ещё плохо умею пользоваться компилятором.

 Исправленный пример работает, спасибо! 

Но, если класс обьявить public то выдает следующую ошибку 


init:
deps-jar:
Compiling 1 source file to D:\java\Thed\build\classes
D:\java\Thed\src\thed\CarentThedDemo.java:18: class CarentThreadDemo is public, should be declared in a file named CarentThreadDemo.java
 public class CarentThreadDemo {    
1 error
BUILD FAILED (total time: 0 seconds)

PM MAIL   Вверх
IUser
Дата 31.5.2007, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



 Разобрался, всё заработало, надо было названеие файла *.java поменять.
PM MAIL   Вверх
batigoal
Дата 31.5.2007, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

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



Цитата(IUser @  31.5.2007,  10:46 Найти цитируемый пост)
надо было названеие файла *.java поменять.

Да нет, причина в другом. У тебя файл назван CarentThedDemo.java, а класс имеет имя CarentThreadDemo.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Uzi
Дата 11.6.2007, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Помогите найти ошибку. Необходимо написать простейший калькулятор,данные вводим с консоли.При делении на ноль,соответственно должно выдать ошибку. Java 1.6
Код
import java.io.*;
import java.math.BigDecimal;

class Calc {
  public static void main(String[] args)
    throws Exception{

    BufferedReader r = new BufferedReader(
             new InputStreamReader(System.in));

    System.out.print("Введите целое число: ");
    int a = Integer.parseInt(r.readLine());
System.out.print("");
    int i = Integer.parseInt(r.readLine());

System.out.print("Введите целое число: ");
    int b = Integer.parseInt(r.readLine());

   switch (args[i].charAt(0)){

     case '+': System.out.println(a.add(b)); break;

     case '-': System.out.println(a.subtract(b)); break;

     case '*': System.out.println(a.multiply(b)); break;

     case '/': System.out.println(a.divide(b, BigDecimal.ROUND_HALF_EVEN)); break;

     default : System.out.println("Invalid operator");  }}}


PM MAIL   Вверх
olegrolik
Дата 14.6.2007, 10:10 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(IUser @ 30.5.2007,  17:02)
Изучаю Java по самоучитель.  
Из книги набрал следующую програму 
Код

 class CarentThreadDemo {
    
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        // TODO code application logic here
        
        Thread t = Thread.currentThread();
        
        System.out.println(" Текущий поток " + t);
        // ReName
        t.setName ("My Thread");
        
        System.out.println(" После изменения имени " + t);
    
       try {
        for (int i= 5; i>0; i--) {
        
        System.out.println(i);
        
        Thread.sleep(1000);
               }
     }
        
     catch (InterruptedExeption e )  {                 !!!!!! ВЫДАЕТ ОШИБКУ, 
        
   System.out.println(" Главный поток завершен ");
      
       }
       
    }
    }

 При чем ошибка во всех пронрамках где содержиться строка  catch, помогите разобраться в чем причина.

catch (InterruptedExeption e ) - пропущена буква "c". 
 smile 
PM MAIL   Вверх
Metal_Heart
Дата 14.6.2007, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

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



olegrolik, что-то ты совсем невнимательный! Обращаю твое внимание, что вопрос был решен ровно через 16 минут после того как его (этот вопрос) задали.


--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
olegrolik
Дата 18.6.2007, 15:44 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Metal_Heart @ 14.6.2007,  10:27)
olegrolik, что-то ты совсем невнимательный! Обращаю твое внимание, что вопрос был решен ровно через 16 минут после того как его (этот вопрос) задали.

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

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

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


 




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


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

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