From 546a43aac1a59cf2f94f57dab39aa04d16a5466e Mon Sep 17 00:00:00 2001 From: DjMatesha Date: Sun, 10 Mar 2019 20:37:38 +0300 Subject: [PATCH 1/3] Update main.kt --- src/unitConverter/main.kt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/unitConverter/main.kt b/src/unitConverter/main.kt index dfea104..7d056c9 100644 --- a/src/unitConverter/main.kt +++ b/src/unitConverter/main.kt @@ -1,5 +1,13 @@ package unitConverter +import java.util.Scanner + fun main(args: Array) { - print("Hello world!") -} \ No newline at end of file + val scanner = Scanner(System.`in`) + var n: Int + do { + print("Enter a number of kilograms: ") + n = scanner.nextInt() + } while (n < 0) + println("$n kilograms is ${n * 1000} grams") +} From a554c95b34733a8606ea9b8ae51f66288fd54cde Mon Sep 17 00:00:00 2001 From: DjMatesha Date: Sun, 10 Mar 2019 21:17:48 +0300 Subject: [PATCH 2/3] Update main.kt --- src/unitConverter/main.kt | 47 +++++++++++++++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 4 deletions(-) diff --git a/src/unitConverter/main.kt b/src/unitConverter/main.kt index 7d056c9..c746b32 100644 --- a/src/unitConverter/main.kt +++ b/src/unitConverter/main.kt @@ -4,10 +4,49 @@ import java.util.Scanner fun main(args: Array) { val scanner = Scanner(System.`in`) - var n: Int + var n: Double + var k: Double = 0.0 + var s: String + var s1: String = "meters" do { - print("Enter a number of kilograms: ") - n = scanner.nextInt() + print("Enter a number and a measure of length: ") + n = scanner.nextDouble() + s = scanner.next().toLowerCase() } while (n < 0) - println("$n kilograms is ${n * 1000} grams") + when (s) { + "m", "meter", "meters" -> { + k = n + s = if (n== 1.0) "meter" else "meters" + } + "km", "kilometer", "kilometers" -> { + k = n * 1000 + s = if (n== 1.0) "kilometer" else "kilometers" + } + "cm", "centimeter", "centimeters" -> { + k = n / 100 + s = if (n== 1.0) "centimeter" else "centimeters" + } + "mm", "millimeter", "millimeters" -> { + k = n / 1000 + s = if (n== 1.0) "millimeter" else "millimeters" + } + "mi", "mile", "miles" -> { + k = n * 1609.35 + s = if (n== 1.0) "mile" else "miles" + } + "yd", "yard", "yards" -> { + k = n * 0.9144 + s = if (n== 1.0) "yard" else "yards" + } + "ft", "foot", "feet" -> { + k = n * 0.3048 + s = if (n== 1.0) "foot" else "feet" + } + "in", "inch", "inches" -> { + k = n * 0.0254 + s = if (n== 1.0) "inch" else "inches" + } + } + if (k==1.0) s1 = "meter" + println("$n $s is $k $s1") } From e55a6c01732beb5dc94dda8dee5e4e29bb39a071 Mon Sep 17 00:00:00 2001 From: DjMatesha Date: Sun, 10 Mar 2019 21:43:58 +0300 Subject: [PATCH 3/3] Update main.kt --- src/unitConverter/main.kt | 153 ++++++++++++++++++++++++++++---------- 1 file changed, 114 insertions(+), 39 deletions(-) diff --git a/src/unitConverter/main.kt b/src/unitConverter/main.kt index c746b32..72233a2 100644 --- a/src/unitConverter/main.kt +++ b/src/unitConverter/main.kt @@ -7,46 +7,121 @@ fun main(args: Array) { var n: Double var k: Double = 0.0 var s: String - var s1: String = "meters" + var s1: String do { - print("Enter a number and a measure of length: ") - n = scanner.nextDouble() - s = scanner.next().toLowerCase() - } while (n < 0) - when (s) { - "m", "meter", "meters" -> { - k = n - s = if (n== 1.0) "meter" else "meters" + print("Enter what you want to convert (or Exit): ") + s = scanner.nextLine().toLowerCase() + if (s == "exit") break + val arr = s.split(" ") + n = arr[0].toDouble() + s = arr[1].toLowerCase() + s1 = arr[3].toLowerCase() + when (s) { + "m", "meter", "meters" -> { + k = n + s = if (n == 1.0) "meter" else "meters" + } + "km", "kilometer", "kilometers" -> { + k = n * 1000 + s = if (n == 1.0) "kilometer" else "kilometers" + } + "cm", "centimeter", "centimeters" -> { + k = n / 100 + s = if (n == 1.0) "centimeter" else "centimeters" + } + "mm", "millimeter", "millimeters" -> { + k = n / 1000 + s = if (n == 1.0) "millimeter" else "millimeters" + } + "mi", "mile", "miles" -> { + k = n * 1609.35 + s = if (n == 1.0) "mile" else "miles" + } + "yd", "yard", "yards" -> { + k = n * 0.9144 + s = if (n == 1.0) "yard" else "yards" + } + "ft", "foot", "feet" -> { + k = n * 0.3048 + s = if (n == 1.0) "foot" else "feet" + } + "in", "inch", "inches" -> { + k = n * 0.0254 + s = if (n == 1.0) "inch" else "inches" + } + "g", "gram", "grams" -> { + k = n + s = if (n == 1.0) "gram" else "grams" + } + "kg", "kilogram", "kilograms" -> { + k = n * 1000 + s = if (n == 1.0) "kilogram" else "kilograms" + } + "mg", "milligram", "milligrams" -> { + k = n / 1000 + s = if (n == 1.0) "milligram" else "milligrams" + } + "lb", "pound", "pounds" -> { + k = n * 453.592 + s = if (n == 1.0) "pound" else "pounds" + } + "oz", "ounce", "ounces" -> { + k = n * 28.3495 + s = if (n == 1.0) "ounce" else "ounces" + } } - "km", "kilometer", "kilometers" -> { - k = n * 1000 - s = if (n== 1.0) "kilometer" else "kilometers" + when (s1) { + "m", "meter", "meters" -> { + s1 = if (k == 1.0) "meter" else "meters" + } + "km", "kilometer", "kilometers" -> { + k /= 1000 + s1 = if (k == 1.0) "kilometer" else "kilometers" + } + "cm", "centimeter", "centimeters" -> { + k *= 100 + s1 = if (k == 1.0) "centimeter" else "centimeters" + } + "mm", "millimeter", "millimeters" -> { + k *= 1000 + s1 = if (k == 1.0) "millimeter" else "millimeters" + } + "mi", "mile", "miles" -> { + k /= 1609.35 + s1 = if (k == 1.0) "mile" else "miles" + } + "yd", "yard", "yards" -> { + k /= 0.9144 + s1 = if (k == 1.0) "yard" else "yards" + } + "ft", "foot", "feet" -> { + k /= 0.3048 + s1 = if (k == 1.0) "foot" else "feet" + } + "in", "inch", "inches" -> { + k /= 0.0254 + s1 = if (k == 1.0) "inch" else "inches" + } + "g", "gram", "grams" -> { + s1 = if (k == 1.0) "gram" else "grams" + } + "kg", "kilogram", "kilograms" -> { + k /= 1000 + s1 = if (k == 1.0) "kilogram" else "kilograms" + } + "mg", "milligram", "milligrams" -> { + k *= 1000 + s1 = if (k == 1.0) "milligram" else "milligrams" + } + "lb", "pound", "pounds" -> { + k /= 453.592 + s1 = if (k == 1.0) "pound" else "pounds" + } + "oz", "ounce", "ounces" -> { + k /= 28.3495 + s1 = if (k == 1.0) "ounce" else "ounces" + } } - "cm", "centimeter", "centimeters" -> { - k = n / 100 - s = if (n== 1.0) "centimeter" else "centimeters" - } - "mm", "millimeter", "millimeters" -> { - k = n / 1000 - s = if (n== 1.0) "millimeter" else "millimeters" - } - "mi", "mile", "miles" -> { - k = n * 1609.35 - s = if (n== 1.0) "mile" else "miles" - } - "yd", "yard", "yards" -> { - k = n * 0.9144 - s = if (n== 1.0) "yard" else "yards" - } - "ft", "foot", "feet" -> { - k = n * 0.3048 - s = if (n== 1.0) "foot" else "feet" - } - "in", "inch", "inches" -> { - k = n * 0.0254 - s = if (n== 1.0) "inch" else "inches" - } - } - if (k==1.0) s1 = "meter" - println("$n $s is $k $s1") + println("$n $s is $k $s1") + } while (true) }