3. English Name оf The Last Digit
Някой може ли да ми каже къде е грешката тук? Аз не виждм такава а ми дава 60% в judge.
http://pastebin.com/HvNdyxMb
Някой може ли да ми каже къде е грешката тук? Аз не виждм такава а ми дава 60% в judge.
http://pastebin.com/HvNdyxMb
Провери в judge какви стойности подава при тестовете където се проваляш
Ако подава дробни и/или отрицателни числа ще предизвиква изключение
[System.FormatException: Input string was not in a correct format.] at EngName_of_Last_Digit.Program.Main():
Ако е така, ще трябва да се презастраховаш като конвертираш (явно) въведеното число към Integer
Разглейдайки числото като стринг, с Linq като се вземе последния символ минава: http://pastebin.com/8ufbLJUj
Е да, обмислих го и това, но не е там работата. Въпроса е защо не минава това решение след като е правилно.
Пробвай да въведеш отрицателно число и ще разбереш ;)
-86 % 10 = -6
И при принтирането се опитва да достъпиш индекс -6, следователно хвърля грешка.
Ето вариант за решение с if() конструкция: 100/100
http://pastebin.com/VJCQLFXe
Не знам условието, но предполагам че ти хвърля грешка при отрицателните стойности. Сложи си Math.Abs на условието в метода и пробвай пак.
Освен отрицателните стойности, разшири (int) на (long) и ще стане.
Math.Abs беше да. Мерси.
Здравейте , тази задача е реших по следния начин : https://pastebin.com/J5yUNsgf , обаче judge ми дава 0/100 , интересното е , че при мене работи и дава коректни отговори , някой може ли да ми даде малко повече допълнителна информация :) ?
Изхода трябва да е с малки букви
Ето ин ендо от мен Java package BasicSyntax.MoreExersises; import java.util.Scanner; public class EnglishNameOfTheLastDigit { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int number = Integer.parseInt(scan.nextLine()); if (number < 0) { number = number * (-1); } if (number % 10 == 0) { System.out.println("zero"); } else if (number % 10 == 1) { System.out.println("one"); } else if (number % 10 == 2) { System.out.println("two"); } else if (number % 10 == 3) { System.out.println("three"); } else if (number % 10 == 4) { System.out.println("four"); } else if (number % 10 == 5) { System.out.println("five"); } else if (number % 10 == 6) { System.out.println("six"); } else if (number % 10 == 7) { System.out.println("seven"); } else if (number % 10 == 8) { System.out.println("eight"); } else if (number % 10 == 9) { System.out.println("nine"); } } }
Там е работата че нямам тази възможност. Не ми изписва грешката. Излиза чак на тест 4 и 5 и е със звездички в "score". При опит с "long", "decimal" и "biginteger" отива на 80%. Но все пак в условието пише че се подава integer.
Не може да бъде! Трябва от дясната страна на всеки тест да имаш бутон VIEW.
Като го натиснеш и би трябвало да те изпрати на адрес подобен на този https://judge.softuni.bg/Contests/Submissions/View/2730144
Там за всеки грешен отговор ни трабвало да имаш линк или бутон с който да видиш какъв вход е подаден, какво е очаквано като изход и какъв е изхода от твоята програма.
Това ли е адреса за предоставяне на решение: https://judge.softuni.bg/Contests/Practice/Index/152#4 ?
Добавих Math.Abs на изхода на метода...без промяна, пак 60%. А никъде в условието не се споменават дробни.