Хакерранк не принимает правильное решение - PullRequest
0 голосов
/ 13 апреля 2019

Задача (HakerRank) предназначена для меня, чтобы отформатировать входные данные, полученные в тестовых примерах.

Должно быть 15 пробелов между строкой и целыми числами и добавляться ноль перед целым числом, если будет только две цифры, мой код выполняет это, насколько мне известно, и соответствует ожидаемому результату, однако мой код все еще считается неверным.

Можно мне помочь выяснить, почему?

Мой код:

import java.util.Scanner;

public class Solution {

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("================================");
        for(int i=0;i<3;i++) {
            String s1=sc.next();
            int x=sc.nextInt();
            int length = String.valueOf(x).length();
            if(length < 3) {
                System.out.format("%-15s %03d %n", s1, x );
            } else {
                System.out.format("%-15s %d %n", s1, x );
            }
        }
        System.out.println("================================");
    }
}

1 Ответ

0 голосов
/ 13 апреля 2019

Просто удалите пробелы в строковом формате, например:

// ...
if(length < 3) {
    System.out.format("%-15s%03d%n", s1, x);
} else {
    System.out.format("%-15s%d%n", s1, x);
}
// ...

И он проходит все тесты:)

...