Да хоть на Луну!

  • 1
  • Недоступна
Программисты часто переезжают с места на место, но только если сами того хотят. Вот почему в их среде конвертеры так популярны. Хотя, может, и не поэтому. Тем не менее, тренируемся их писать. Представьте, что теперь вам придется работать не где-нибудь, а на Луне. Давайте реализуем метод, который переводит ваш земной вес в лунный.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (113)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Максим Алексеенко8 уровень, Ростов-на-Дону
29 декабря 2019, 09:49
public class Solution {
    public static void main(String[] args) {
        System.out.println(getWeight(888));
    }

    public static double getWeight(int earthWeight) {
        double vesNazemle = earthWeight*17/100;
        return vesNazemle;
    }
}
Что опять не так?
Олеся4 уровень, Ryazan
4 января, 15:36
строка 7 double vesNazemle = earthWeight*17/100.0;
Александр Колобов23 уровень, Одесса
9 января, 15:32
Не критичная ошибка, но в вашем случае переменная должна называться vesNaZemle
ケミdysphoriaメ3 уровень, Zheleznogorsk
13 января, 03:46
Олеся, спасибо, оказывается, к 100 нужно было добавить точку и ноль. Как до этого нужно было додуматься ? Делал все так же, как автор комментария, получался результат 150.0, не мог понять, в чем моя ошибка
Alexander Pryahin6 уровень, Екатеринбург
16 января, 17:18
Можно проще, умножить на 0.17
Олег2 уровень, Москва
21 января, 10:34
Да проще умножить на 0.17, а так всё верно в коде.
Вячеслав3 уровень, Москва
6 февраля, 14:22
только return не vesNazemle, а return earthWeight*17/100.0
Евгений3 уровень, Санкт-Петербург
25 декабря 2019, 22:24
объясните, пожалуйста, на пальцах, что значит вернуть значение? для чего у нас return? и почему в формуле перед earthweight нужно прописывать double??
Иван Обелянцев3 уровень, Ейск
22 декабря 2019, 18:33
Отлично понял принцип, но не черта не понял как это правильно выразить в синтаксисе. Косяк не мой..
Василий Бабин14 уровень, Москва
28 ноября 2019, 05:49
Не надо создавать никаких доп. перенных (кушает память). Все проще оказалось. return earthWeight*0.17;
Ilyas Gadzhev3 уровень
8 декабря 2019, 20:10
нет на оборот return earthWeight*17.0/100 ну можно и так earthWeight*17/100.0 главное чтоб результат был 150.96
Василий Бабин14 уровень, Москва
9 декабря 2019, 11:03
return earthWeight*0.17; Тоже работает 17% это и есть 0.17.
Milt Jagorverg4 уровень, Maas
19 декабря 2019, 00:34
хитрец)))
Chingiz12 уровень
23 января, 11:08
Я написал так: double newton = earthWeight; double moonWeight = ((newton/100)*17); return moonWeight; Потом читаю ваш комент и понял что перемудрил, но в постановке задачи была подсказка с ньютонами, видать поэтому мыслил в этом направлении.
Василий Бабин14 уровень, Москва
23 января, 11:22
В будущих уроках будет видно, что когда используешь double и производя с ним разные манипуляции, появляются погрешности, поэтому думаю умножение на 0.17 более эффективно (но это моё мнение и возможно я и не прав, я также учусь как и Вы).
Алексей3 уровень, Новосибирск
23 ноября 2019, 08:24
Пожалуйста ссылку на лекцию к этой задаче.
Aleksandr First2 уровень
12 февраля, 11:09
https://javarush.ru/quests/lectures/questsyntax.level02.lecture07
alexey4 уровень, Anapa
31 октября 2019, 08:33
Для решения задачи необходимо: к Типу (double) присвоить -->; переменную/имя ( к примеру а, или moon - раз это луна, да хоть ass, не важно), это все будет равно earthWeight которое нужно умножить на число (разницу силу тяжести на земле- читайте в задании) и умножить это на 100.0 (почему .0 сам не понял, но если ставишь просто 100 он отображает только одну цифру после запятой, а нам нужно две цифры). потом все это проверяем при помощи команды return (и наша переменная/имя которую вы брали " а или moon или ass) НЕ забывайте про точку с запятой ;
Horus2 уровень
28 ноября 2019, 16:04
100.0 необходимо писать, потому как иначе выполняется целочисленное значение, а дробная часть не учитывается, так как 100 и 17 это int. А после этого, полученное значение присваивается в переменную типа double, но дробное значение останется .0
Андрей Андросенко8 уровень, Гомель
23 октября 2019, 19:22
Решил , но ничерта не понял как я это сделал .
Konstantin Glebov16 уровень, Барнаул
10 октября 2019, 07:06
Почему не работает если сразу написать return double moonWeight = earthWeight*0.17;
Олеся Васильева5 уровень, Riga
28 октября 2019, 08:46
я перед словом earthWeight добавила (double)
6 октября 2019, 06:20
Это значения: (earthWeight * 0.17) равносильно вот этому (earthWeight * 17 / 100), но в компиляторе НЕТ. Почему так происходит?????
Ilya Trundaev4 уровень, Москва
6 октября 2019, 18:25
Это всё потому что у тебя изначально earthWeight имеет тип int, а int это целочисленные значения. Ты хочешь целочисленное значение умножить на double так нельзя делать, вот тебе и ругается компилятор. Поэтому чтобы так сделать нужно чтобы у тебя изначально earthWeight имел тип double, тогда компилятор не будет ругаться.
leksa15 уровень, Москва
2 октября 2019, 15:43
Решил правильно, но не совсем понял. Я создаю переменную double moonWeight, которая высчитывает по формуле вес. потом возвращаю moonWeight. но ведь вывод идет getWeight из System.out.println(getWeight(888)); Почему в выводе меняется переменная moonWeight на getWeight ? Не понимаю.
artem3 уровень, Pskov
18 октября 2019, 20:17
Наверное, потому что moonWeight - это результат работы (getWeight(888)). А return возвращает результат.