Size: a a a

2020 April 28

ch

central hardware in KotlinLangRu
Taras Kolomiets
Понял, спасибо)
одно буквенные названия переменных так же чаще всего не желательно, исключения математически обозначения принятые в научном сообществе
источник

SK

Stepan Kladikov in KotlinLangRu
А как же проверки добавить на отрицательность дискриминанта и т.п.
источник

SK

Stepan Kladikov in KotlinLangRu
Зачем делать два принта, если в котлине можно написать
println("X1 = $x1")
источник

SK

Stepan Kladikov in KotlinLangRu
Объявление методов внутри методов - насколько мне известно, это хак, который случайно попал в прод, лучше так не делать
источник

SK

Stepan Kladikov in KotlinLangRu
Тем более, если есть метод pow
источник

SK

Stepan Kladikov in KotlinLangRu
Зачем дискриминант объявлен мутабельным?
источник

SI

Slava Iumin in KotlinLangRu
Taras Kolomiets
import kotlin.math.sqrt
import java.util.Scanner

fun main() {
   val reader = Scanner(System.in)
   print("Введите А:")
   val a:Double = reader.nextDouble()
   print("Введите Б:")
   val b:Double = reader.nextDouble()
   print("Введите С:")
   val c:Double = reader.nextDouble()
   fun sqr(x: Double): Double = x * x
   var diskriminant = (sqr(b) - 4 * a * c)
   var x1 = ((-b + sqrt(diskriminant)) / (2 * a))
   var x2 = ((-b - sqrt(diskriminant)) / (2 * a))
   print("Х1 = ")
   println(x1)
   print("Х2 = ")
   print(x2)
}
Вынести объявление функции sqr из main
Дискриминант val он не меняется
источник

SK

Stepan Kladikov in KotlinLangRu
Slava Iumin
Вынести объявление функции sqr из main
Дискриминант val он не меняется
А это и не sqrt, кстати)
источник

SI

Slava Iumin in KotlinLangRu
Поправил
источник

SK

Stepan Kladikov in KotlinLangRu
@erniehole, это вопросу о названиях методов)
источник

SI

Slava Iumin in KotlinLangRu
Taras Kolomiets
import kotlin.math.sqrt
import java.util.Scanner

fun main() {
   val reader = Scanner(System.in)
   print("Введите А:")
   val a:Double = reader.nextDouble()
   print("Введите Б:")
   val b:Double = reader.nextDouble()
   print("Введите С:")
   val c:Double = reader.nextDouble()
   fun sqr(x: Double): Double = x * x
   var diskriminant = (sqr(b) - 4 * a * c)
   var x1 = ((-b + sqrt(diskriminant)) / (2 * a))
   var x2 = ((-b - sqrt(diskriminant)) / (2 * a))
   print("Х1 = ")
   println(x1)
   print("Х2 = ")
   print(x2)
}
Сделать проверки на входящие значения. Можно с перезапросом нового ввода
источник

TK

Taras Kolomiets in KotlinLangRu
Мужики, я три дня только ковыряюсь. Слишком много незнакомых слов)) Если есть время и желание буду очень благодарен, если скинете вариант с исправленными ошибками и добавите проверки
источник

SK

Stepan Kladikov in KotlinLangRu
В общих чертах
1. Обрабатывай все возможные ошибки - сначала продумывай модель, потом прогай
2. Не спеши писать свои методы - сначала всегда проверяй, есть ли уже стандартная реализация
3. Знай возможности языка, на котором собираешься писать, чтобы по возможности использовать их по максимуму
4. К предыдущему - полезно знать, какую парадигму продвигают создатели языка - для её поддержки и заточен язык, её и стоит придерживаться по максимуму
источник

TK

Taras Kolomiets in KotlinLangRu
Stepan Kladikov
В общих чертах
1. Обрабатывай все возможные ошибки - сначала продумывай модель, потом прогай
2. Не спеши писать свои методы - сначала всегда проверяй, есть ли уже стандартная реализация
3. Знай возможности языка, на котором собираешься писать, чтобы по возможности использовать их по максимуму
4. К предыдущему - полезно знать, какую парадигму продвигают создатели языка - для её поддержки и заточен язык, её и стоит придерживаться по максимуму
спасибо, учту
источник

ch

central hardware in KotlinLangRu
Taras Kolomiets
спасибо, учту
а еще формула дискриминанта не единственная для решения квадратного уровнения, вполне вероятно что другие будет гораздо проще применять
источник

TK

Taras Kolomiets in KotlinLangRu
central hardware
а еще формула дискриминанта не единственная для решения квадратного уровнения, вполне вероятно что другие будет гораздо проще применять
да я просто посмотрел несколько уроков по основам и решил применить знания. Квадратное уравнение через дискриминант - первое что пришло в голову. Но спасибо за идею чекнуть другие способы
источник

IM

Igor Mikhailov in KotlinLangRu
Slava Iumin
Сделать проверки на входящие значения. Можно с перезапросом нового ввода
Насколько плоха/извращённа такая реализация
tailrec fun waitForDouble(message: String): Double {
   println(message)
   try {
       return readLine()!!.toDouble()
   } catch (e: NumberFormatException) {
   } catch (e: NullPointerException) {
   }
   return waitForDouble(message)
}
источник

IM

Igor Mikhailov in KotlinLangRu
хотя проще через while true написать
fun waitForDouble(message: String): Double {
   while (true) {
       try {
           println(message)
           return readLine()!!.toDouble()
       } catch (e: NumberFormatException) {
       } catch (e: NullPointerException) {
       }
   }
}
источник

SI

Slava Iumin in KotlinLangRu
Igor Mikhailov
хотя проще через while true написать
fun waitForDouble(message: String): Double {
   while (true) {
       try {
           println(message)
           return readLine()!!.toDouble()
       } catch (e: NumberFormatException) {
       } catch (e: NullPointerException) {
       }
   }
}
Лучше через while
источник

Х

Хумо in KotlinLangRu
Всем привет.Вопрос не по языку.В Postgresql в поле varchar хочу записать предложение “Hello world”, выдает ошибку синтаксиса (примерное положение “world”).Почему то выдает ошибку на слова после пробела😐
источник