MSUSER30 Ответов: 4

Если задана строка, определите, является ли она целым числом. Например, строка “123” является целым числом, а строка “hello” - нет. (Коды)


Недавно я начал изучать Java с помощью веб-сайта под названием codehs, но я застрял на этой проблеме. Он хочет, чтобы я создал метод isInteger, чтобы определить, является ли строка целым числом или нет, и вернул true, если это так, или false, если это не так. Есть идеи, как я могу это сделать? Я много чего перепробовал, но, кажется, ничего не получается, и я не могу просто сделать это.

System.out.println(Character.isDigit('1'));

потому что он хочет, чтобы я создал метод под названием isInteger для выполнения этой задачи, есть идеи?

Что я уже пробовал:

public class Scratchpad extends ConsoleProgram
{
    public void run()
    {
        // Add your own tests here
        System.out.println(isInteger(str));
    }

    // Copy and paste your Unit Test method here
    public boolean isInteger(String str)
    {
    
        if(Character.isDigit('1'))
        {
            return true;
        }
        else
        {
            return false;   
        }
    }

}

wseng

В System.out.println(isInteger(str)); Где вы определяете str ?

MSUSER30

Спасибо, код ниже сработал.Я также понял, что вместо того, чтобы помещать str в вывод печати, мне нужно было добавить символ в одинарных кавычках.

wseng

Я рад, что это помогло.

4 Ответов

Рейтинг:
29

wseng

Чтобы проверить является ли значение целочисленным или нет

public boolean isInteger(String number ){
    try{
        Integer.parseInt(number);
    }catch(Exception e ){
        return false;
    }
    return true;
}


Afzaal Ahmad Zeeshan

5ед.

wseng

Большое спасибо !

Рейтинг:
2

Member 14144437

Я запустил код, который работал для всех ситуаций, кроме одной. Оказывается, что один из входных данных, которые они тестируют, набран неправильно. Один из них должен быть "1O1" (те-Это числа, а другой-заглавная буква O), но они набрали его как "101", где все они-нули, и он не проходит их окно оценки. Вы можете увидеть разницу в окне при том, как они набираются, и знать, что это должно быть.
Мой код, который работал для всего остального, таков:

public boolean isInteger(String str) //char was String
{
for(int i = 0; i < str.length(); i++)
{
если(персонаж.ул. isDigit (.используя метод charat(я)))
вернуть true;
}
возвращать false;
}

Немного поздно для этого человека, но может помочь другим, когда они столкнутся с ним.


Рейтинг:
1

Member 13525035

Ваш код работает правильно. Является ли функция codeHS checkcode не позволяет вам пройти? Если да, то есть ли у них какие-либо спецификации, которые они запрашивают в описании?


Рейтинг:
0

Member 14659943

public boolean isInteger(String str)
{

если (str.равно(""))
{
возвращать false;
}

for(int i=0; i< str.length();i++)
{

ул. гольца ч =.используя метод charat(я);
если(!Характер.isDigit(ч))
{
возвращать false;
}

}
вернуть true;
}