Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Не работает пример из книги


Автор: korob2001 12.7.2004, 14:19
В книге есть такой пример:
Код

//: Класс комплексных чисел. Файл TestComplexNumber.java

class ComplexNumber {

     // Обьявляем переменные класса
     private double real;
     private double image;
     
     // Конструктор
     public ComplexNumber( double r, double i ) {
            real = r;
            image = i;
     }

     // Конструктор комплексного числа с нулевой мнимой частью
     public ComplexNumber( double r ) {
            this( r, 0.0 );
     }

     // Метод сложения двух комплексных чисел
     public ComplexNumber add( ComplexNumber cn ) {
            return new ComplexNumber( real + cn.real, image + cn.image );
     }

     // Метод представления комплексного числа в виде строки
     public String toString() {
            String msg;
            msg = "( " + real + ", " + image + " )";
            return msg;
     }
}

public class TestComplexNumber {
      public static void main( String[] s ) {
             ComplexNumber cn1 = new ComplexNumber( 1.0, 7.0 );
             ComplexNumber cn2 = new ComplexNumber( 5.0 );
             ComplexNumber res = cn1.add( cn2 );
             
             System.out.println( cn1.toString() + " + " +
                                 cn2.toString() + " = " +
                                 res.toString() );
             try { System.in.read(); } // Для обеспечения задержки на экране
             catch( java.io.IOException e ) {}
      }
}

После компиляции, по идее, должно появиться 2 файла TestComplexNumber.class и ComplexNumber.class, но вместо этого я получаю ошибку на стадии компиляции. sad.gif
Всё написал как в книге. Подскажите, что не так?

Заранее благодарен,
Денис.

Автор: DarkDS 12.7.2004, 14:42
А что за ошибка при компиляции? У меня все отлично пошло smile.gif

Автор: ElectricalStorm 12.7.2004, 14:43
Ошибку в студию

Автор: korob2001 12.7.2004, 15:33
ComplexNumber.java:33: class TestComplexNumber is public, should be declared in a file named TestComplexNumber.java
public class TestComplexNumber {
^
1 error

Автор: Domestic Cat 12.7.2004, 15:36
Переименуuте фаил в TestComplexNumber. В 1 java-фаиле может быть только 1 public класс и имя фаила должно быть таким же как у этого класса.

Автор: korob2001 12.7.2004, 16:01
Большое спасибо. Переименовал в TestComplexNumber.java и всё заработало, а был ComplexNumber.java

Автор: DarkDS 12.7.2004, 19:42
Цитата(korob2001 @ 12.7.2004, 16:01)
Большое спасибо. Переименовал в TestComplexNumber.java и всё заработало, а был ComplexNumber.java

Вообще хорошим стилем считается хранение каждого класса в своем файле smile.gif
Но это так... Мелочи smile.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)