2015-02-17 3 views
-3
import java.util.*; 

class box 
{ 
    int h,w,d; 
} 

void volume() 
{ 
    System.out.println("Volume="+(w*h*d)); 
} 

class boxdemo 
{ 
    public static void main(String arg[]) 
    { 
     box b1=new box(); 
     box b2=new box(); 
     b1.h=10; 
     b1.w=20; 
     b1.d=30; 
     b2.h=20; 
     b2.w=30; 
     b2.d=40; 
     b1.volume; 
     b2.volume; 
    } 
} 

Что не так с кодом? пришлите мне правильный код. Он показывает две ошибки, указывающие на ожидаемый класс, интерфейс или enum.Ошибка Java: класс, интерфейс или enum ожидается,

+5

Вы 'объем()' метод не является частью какого-либо класса. –

ответ

1

Все методы в Java (также называемые «функциями» на некоторых других языках) должны находиться внутри класса.

Потому что volume ссылки членов box Поэтому я предполагаю, что он предназначен для обозначения box.

class Box 
{ 
    int h,w,d; 

    void volume() 
    { 
     System.out.println("Volume="+(w*h*d)); 
    } 
} 

Обратите внимание, что я также изменил box на Box becauses классов в Java начинается с прописной буквой по соглашению.

Кроме того, метод вызывает в Java конце со скобками, даже если они не принимают аргументы:

//  vv 
b1.volume(); 
b2.volume(); 
-1

Пожалуйста, попробуйте узнать больше Java. У вас есть интересные ссылки здесь: http://www.learnjavaonline.org/

http://www.tutorialspoint.com/java/

class Box{ 
private int h,w,d; 

public Box(final int h, final int w, final int d){ 
    this.h = h; 
    this.w = w; 
    this.d = d; 
} 

public int volume(){ 
    return h * w *d; 
} 
} 

И вы можете использовать Box

class Launcher{ 

    public static void main(String arg[]){ 
    final Box b1 = new Box(10,20,30); 
    final Box b2 = new Box(20,30,40); 

     System.out.println("Volume="+b1.volume()); 
     System.out.println("Volume="+b2.volume()); 
    } 
} 
0

В приведенном выше примере ваш метод не внутри класса, так что вы должны следовать синтаксис класса :

<class-modifiers> class <class name> <extends clause> <implements clause> { 
//class body 
    <variable declaration> 
    <method declaration> 
    <nested class declaration> 
    <nested interface declaration> 
    <constructor declaration> 
    <initializer block (static block and instance block)> 
} 

И есть какой-то женский монастырь ионы, которые должны быть следовать

  • класса, интерфейс Enum: Начните с заглавной буквой и обрабатываются с верблюжьим письмом. Ex. BoxDemo
  • Метод: Начните с маленькой буквы и обработайте ее с помощью буквы camelCase Ex. getValue(), setValue()
  • Переменная Начните с маленькой буквы и обработайте ее с помощью буквы camelCase Ex. значение, данные, testValue.
  • Constant Все буквы должны быть буквами верхнего уровня. Он может быть раздельным с такими символами, как (подчеркивание _) Исх.MIN_WIDTH

только три типа в Java, которые имеют байт-код, который

  • Класс
  • Интерфейс
  • Enum

Для детальной информации перейдите на солнце (оракул) Java именования, правило sun java naming conventions

Вы код, написанный в

class Box { 
    int h, w, d; 
    int volume; 

    void volume() { 
     volume = w * h * d; 
     System.out.println("volume : " + volume); 
    } 
} 

public class BoxDemo { 
    public static void main(String arg[]) { 
     Box b1 = new Box(); 
     Box b2 = new Box(); 
     b1.h = 10; 
     b1.w = 20; 
     b1.d = 30; 
     b2.h = 20; 
     b2.w = 30; 
     b2.d = 40; 
     b1.volume(); 
     b2.volume(); 
    } 
}