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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с if, Не работает конструкция if 
V
    Опции темы
PiskunPavel
  Дата 11.7.2008, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем привет! Я начал изучать Java два дня назад, но очень активно. Решил написать калькулятор для консоли. Вот код:
Код

import java.io.*;

public class Kalkulator
{
  public static void main(String[] args) throws IOException
  { 
   System.out.println("Enter the first number: ");
   BufferedReader bReader = new BufferedReader(new InputStreamReader(System.in));
   String str = bReader.readLine();
   double num1 = Double.parseDouble(str);

   System.out.println("    Input Method: ");
   BufferedReader bReader2 = new BufferedReader(new InputStreamReader(System.in));
   String str2 = bReader2.readLine();
   String method = str2;

   System.out.println("Enter the second number: ");
   BufferedReader bReader3 = new BufferedReader(new InputStreamReader(System.in));
   String str3 = bReader3.readLine();
   double num3 = Double.parseDouble(str3);
   kalkur(num1, num3, method);
  }

  static void kalkur(double number_1, double number_2, String method)
  {
    if(method == "+")
    {
     double result1 = number_1 + number_2;
     System.out.println(result1);
    }
    if(method == "*")
    {
     double result2 = number_1 * number_2;
     System.out.print(result2);
    }
    if(method == "/")
    {
     double result3 = number_1 / number_2;
     System.out.print(result3);
    }
    if(method == "-")
    {
     double result4 = number_1 - number_2;
     System.out.print(result4);
    }
  }
}

Но дело в том, что он принимая все что я ввожу, условия if ни в каком случаи не выполняет. Почему?
PM MAIL   Вверх
Ulysses4j
Дата 11.7.2008, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ссылочная модель данных в Java, == сравнивает ссылки на объекты, а не значения объектов. Сравнение значений для каждого класса по-разному, у String надо использовать метод equals() (str.equals("*")). Кстати, обычно компилятор дает предупреждение при использовании == для строк.

Это сообщение отредактировал(а) Ulysses4j - 11.7.2008, 19:28


--------------------
Communication is critical to the job of a programmer.
C. Jazdzewski. Fatherly Advice To New Programmers
PM MAIL WWW   Вверх
PiskunPavel
  Дата 11.7.2008, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



большое спасибо! у меня компиляторо ничего не выдает...  smile 
я просто знаю php, а в нем можно так делать
PM MAIL   Вверх
Ulysses4j
Дата 11.7.2008, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Если исправить == на equal, то должно работать, я попробовал. На знании PHP в Java лучше особо не полагаться: языки из разных семейств, с разными задачами. Читайте книжки, их по Java достаточно.

Добавлено через 8 минут и 30 секунд
А, я прочитал "у меня компиляторо ничего не выдает" как утверждение, что с equals не работает, не понял, что это к предупреждениям относилось.

Это сообщение отредактировал(а) Ulysses4j - 11.7.2008, 19:47


--------------------
Communication is critical to the job of a programmer.
C. Jazdzewski. Fatherly Advice To New Programmers
PM MAIL WWW   Вверх
PiskunPavel
Дата 11.7.2008, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

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

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


 




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


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

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