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


Автор: Berliner 23.1.2007, 22:14
Здраствуте, пытаюсь сравнить два объема коробка и лезит ошибка подскажите как правльно чтобы не було ошибки сравнить объемы коробки. И вообще мне тяжело с return разобраться,понять. Может кто нить скажит что-то про return доступно,пожалуста
Код

package javaapplication24;
public class Main {
    
    public Main() {
    }
    
    public static void main(String[] args) {
       
        Box box1=new Box(); //вроде тут ошибка- не найден символ
        Box2 box2=new Box2();//и тут ошибка
        
        if 
               
        (box1.vol()>box2.vol2()) 
        {
        System.out.println("Первая коробка больше чем вторая");
        }
        else System.out.println("Вторая коробка больше");
        
    }
}
  class Box1 {
   int h=3;
   int d=5;
   int e=4;
   int res;
  
   int vol ()
   {
   return h*d*e;    
  
   
   }
            }
  
   
   class Box2 {
   int h=4;
   int d=6;
   int e=5;
   int res;
   int vol2()
   {
   return h*d*e;
   
   }
   
             }

Автор: eag1e 23.1.2007, 22:31
Box1 !== Box

Автор: Berliner 23.1.2007, 22:44
это сравнивать так надо ? а если я хочу дать условие > ка это реализовать?
а че в этой строке лезит ошибка? Box box1=new Box();
Вроде правильносоздал экземпляр?

Автор: eag1e 23.1.2007, 22:52
Ну вы вобще то создаёте класс Box1 а создаёте обьект Box ... 

Код


package javaapplication24;
public class Main {
    
    public Main() {
    }
    
    public static void main(String[] args) {
       
        Box1 box1=new Box1(); //вроде тут ошибка- не найден символ
        Box2 box2=new Box2();//и тут ошибка
        
        if 
               
        (box1.vol()>box2.vol2()) 
        {
        System.out.println("Первая коробка больше чем вторая");
        }
        else System.out.println("Вторая коробка больше");
        
    }
}
  class Box1 {
   int h=3;
   int d=5;
   int e=4;
   int res;
  
   int vol ()
   {
   return h*d*e;    
  
   
   }
            }
  
   
   class Box2 {
   int h=4;
   int d=6;
   int e=5;
   int res;
   int vol2()
   {
   return h*d*e;
   
   }
   
             }


Невнимательность smile ...

Автор: Ortega 23.1.2007, 23:45
Проблема действительно в том, что у тебя класса Box как такового нету.
Объявлен ведь класс Box1...
Цитата(eag1e @  23.1.2007,  22:52 Найти цитируемый пост)
Невнимательность smile

она самая =)

Автор: scai 24.1.2007, 10:03
воот. если с понтом говорить  , то по хорошему, один класс бокс с d,e, h, и val(), a res не нужен, и два обьекта для собссно ящиков. проектирование, все такое...smile

--------------------------------------

[upd] после return пишут выражение, тип значения которого совпадает с типом метода. если воспринимать вызов метода, как имя переменной, то это, после return, будет ее значением. говорят, метод "возвращает значение". куда? в место своего вызова. void метод - ничего не возвращает, return'a у него нет.

можт зря я влез...

Автор: Norb 26.1.2007, 22:57
Цитата(scai @ 24.1.2007,  10:03)
воот. если с понтом говорить  , то по хорошему, один класс бокс с d,e, h, и val(), a res не нужен, и два обьекта для собссно ящиков. проектирование, все такое...smile

Абсолютно согласен! Да и логика изначально как-то хромает... Зачем нужен res так и не понял smile Может кто думает иначе, но по-моему код должен выглядеть примерно так.

Код

package javaapplication24;
public classMain {
    
    publicMain() {
    }
    
    public static void main(String[] args) {
       
        Box box1=new Box(2,3,6); //первый экземпляр
        Box box2=new Box(4,6,5); //второй экземпляр
        
        if(box1.vol()>box2.vol2()) 
        {
        System.out.println("Первая коробка больше чем вторая");
        }
        else System.out.println("Вторая коробка больше");
        
    }
}
  class Box {
   int h;
   int d;
   int e;

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

   int vol ()
   {
   return h*d*e;    
   }

 }

Автор: Goganchic 27.1.2007, 12:38
нда... ужастный кодинг-стайл

Автор: V.A.KeRneL 27.1.2007, 22:27
Цитата(Goganchic @  27.1.2007, 12:38 Найти цитируемый пост)

нда... ужастный кодинг-стайл

Goganchic, согласен! После такого засыпется с трудом, не говоря уж про то, что откровенно из раздела про Яву отпугивают!

После этого у меня освежилась в памяти идея написать автоформатировальщик. Надо будет на досуге как-нить начать...

Автор: nerezus 27.1.2007, 22:35
Цитата

После этого у меня освежилась в памяти идея написать автоформатировальщик. Надо будет на досуге как-нить начать...
 IDEA => [Ctrl]+[Alt]+[l] вроде ;)

Автор: V.A.KeRneL 27.1.2007, 23:29
Цитата(nerezus @  27.1.2007, 22:35 Найти цитируемый пост)

IDEA => [Ctrl]+[Alt]+[l] вроде ;)

nerezus, очевидно, имеется в виду http://www.jetbrains.com/idea/. 
Я ей не пользовался, т.к. не много программировал на Яве. Фактически один семестр в универе. Там юзали http://www.eclipse.org/. 
Верю тебе на слова. И рад, что хоть для явы это не придётся делать. smile 
Может знаешь, есть ли где-нить такие же фичи для C/C++ и Ruby? 

З.Ы. А вообще, я хотел это делать не только потому что кому-то лень, или кто-то не умеет форматировать исходный код, а ещё и для того, чтобы прога форматировала исходник в вид приятный мне smile, ну и для опыта, конечно, тоже!

==========================================================================================
P.S. Berliner, всегда следуйте правилам форма! В частности: 
Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или флажком при ответе smile
==========================================================================================

Автор: nerezus 28.1.2007, 00:00
V.A.KeRneL, для C/C++ в Code::Blocks есть, а Ruby мне не нравится ;)

Автор: V.A.KeRneL 28.1.2007, 00:06
Цитата(nerezus @  28.1.2007, 00:00 Найти цитируемый пост)

а Ruby мне не нравится ;)

Нда, странно... Хотя я также знаю людей, которым не нравится Руби и нравится Ява, они, очевидно, любят чипятать! smile
Но это уже жестокий оффтоп с моей стороны! smile

Автор: powerOn 28.1.2007, 01:37
Модератор: Господа, прекращаем оффтоп. Для этого есть другой раздел. 

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