Digit as Word

Когато в конзолата за вход въведа дума, програмата показва грешка. Някой би ли споделил начин, по който да преодолея проблема?
Ето го и кода https://pastebin.com/0Z9XxSEE

Пробвай да четеш символи с nextChar() :slight_smile: В момента ти гърми четенето от конзолата.
Само едноцифрени числа ли ще четеш? Защото, ако имаш двуцифрени ще трябва да прочетеш string, да го превърнеш в масив от символи и с foreach например да минеш през всеки символ.

Пробвай с InputMismatchException;

import;java.util.InputMismatchException; - преди класа
try{ switch case
};(InputMismatchException ex){
System.out.println(“not a digit.”);

При мен работи но judge системата не го приема = предполагам, защото не съм изключила празен ред от входните данни. Ако знаеш как - сподели.

Числата, които ще чета са от 0-9 включително [0-9] , а при всяко друго извън този диапазон. или при въведена дума. трябва да ми покаже “not a digit” в като отговор в конзолата. Програмата ми гърми, когато въведа дума, и вместо да изпише not a dogit, ми показва грешка Exception in thread “main” java.util.InputMismatchException

Здравей :slight_smile:
Реално ти получаваш някакъв текст(string) с различен брой символи. И ако получиш 0, като текст, трябва да отпечаташ “zero”… и така минаваш през целия switch и ако получения текст не отговаря на 0, 1… връщаш default “not a digit”.
Просто работи със стрингове :slight_smile:

Диди

2 Likes

Здравей:slight_smile:
би ли ми казала, защо този код не минава в judge. https://pastebin.com/sQLSg6D3
Предварително благодаря.

Може ли да дадеш повече информация какъв точно е проблема в judge?

Здравей,
На case 4 ми дава Your output (clipped) not a digit и след това не ми дава резултат от case 5 до case 20 .

В catсh-a имаш “not a digit.”, с точка накрая. Предполагам се очаква “not a digit”, без точка.

Благодаря много. Точно това беше проблема:slight_smile:

1 Like

Здравейте колеги!
може ли някой да ми погледне кода и да каже къде греша?
https://pastebin.com/5PEumkzC

Hey, избери дали ще сравниш int num с “==” , или string digit с .equals(“1”). Ти хем parse-ваш int num = Integer.parseInt(digit.trim()), хем после не го ползваш : )

например

if(num == 0){
System.out.println(“zero”);
}else if(digit.equals(“1”)){
System.out.println(“one”);

1 Like

Ще ти е по-лесно да ползваш само string и case с default с него, защото иначе ще ти се усложни доста сравнението за това дали имаш дума на входа или различни цифри.

3 Likes

Благодаря!

някакви идеи защо не работи?
https://pastebin.com/raw/j1zbpHXF

Здравей,
Програмата не разпознава 0 като цифра.

Здравейте,

Може ли съвет защо Judge не ми приема решението?

Благодаря!

Здравей,
промени си променливата от тип стринг, за да може да прочита и отрицателните числа и би трябвало да стане. :slight_smile:

1 Like

Получи се, благодаря :slight_smile:

1 Like