Data Types and Variables- 1. Data Type Finder
Здравейте, имам проблем със задачата в judge ми дава 60/100 и немога да разбера къде греша.
https://pastebin.com/9znxWgZJ
Здравейте, имам проблем със задачата в judge ми дава 60/100 и немога да разбера къде греша.
https://pastebin.com/9znxWgZJ
При проверката за isBoolean вместо {boolean.ToString().ToLower()}, използвай {word}. Така Judge дава 90/ 100. За isDouble също използвай {word} така дава 100/100.
Здравейте,
ето моя код, който дава 100/100 в Judge. - https://pastebin.com/GuPkys8B
Тъй като отначало ми изкара 10/100 наблегнете на следните проверки за да не се случи и при вас:
1. При вход true (с малка буква) трябва на изхода отново да е с малка буква. Ако използвате в Console.WriteLine($"{boolValue} is boolean type"); - boolValue променливата то тогава ще се отпечата True - с голяма буква, което Judge го отчита като грешка. Затова използвам навсякъде входните данни (command) при отпечатване за да се печата това което се чете.
2. Не използвайте Decimal, използвайте си Double защото при вход като 0.000000000000000000002654 дава грешен изход.
3. Внимавайте при поредността на печатане в If - Else if конструкцията, ако сложите Char на първия ред ще отчете "5" като символ а не като Int и ще опчетата грешен резултат.
4. Не използвайте метода .ToString().ToLower() защото при входни данни True или False (с големи букви) на изхода ще имате true/false (с малки букви)
Надявам се да съм помогнал,
Успех!
Ето едно решение и от мен без TryParse метода. https://pastebin.com/gGbsJyPU
Иначе ако няма да ползвате втория параметър, може да го discard-вате с _
Например: int.TryParse(command, out _);
import java.util.Scanner; public class DataTypeFinder { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String input = scanner.nextLine(); while (!"END".equals(input)) { int integer = 0; int floating = 0; boolean flotPoint = false; String type = "string"; // string if (input.length() == 1) { char current = input.charAt(0); if ((current >= 48 && current <= 57)) { type = "integer"; // integer } else { type = "character"; // char } } else { for (int i = 0; i < input.length(); i++) { // INTEGERS & FLOAT POINT NUMS char current = input.charAt(i); if (i == 0 && current == 45) { integer++; } if ((current >= 48 && current <= 57) || current == 46) { // int integer++; if (current == 46) { floating++; flotPoint = true; } } } } if (integer == input.length()) { if (flotPoint && floating == 1) { //floating point type = "floating point"; } else if (floating > 1) { } else { type = "integer"; // integer } } String checkBl = input.toLowerCase(); // boolean switch (checkBl) { case "true": case "false": type = "boolean"; } System.out.printf("%s is %s type%n", input, type); input = scanner.nextLine(); } } }
Чиста Java логика, малко с вадене от 9 дола вода,
Същата задача, но със PHP... ще съм благодарен ако някой покаже.
Проблема е за boolean, при вход false изхода е string. https://pastebin.com/caUDCJ7i с малка промяна 100/100 в Judge.
Аз силно зациклих с тази задача. Не се сещам какъв вход я чупи. Ако може малко помощ - https://pastebin.com/vsQzUqn4