Я пытаюсь решить эту проблему с google kick start 2018 round Задача 1 Четные цифры.Я поместил весь свой код ниже, который прекрасно работает в eclipse ide, но когда я беру этот код и вставляю его на веб-сайт Google Kick Start и запускаю тест, выдается ошибка компиляции.
mesg: сбой ttyname: неподходящий ioctl для устройства Solution.java:2: ошибка: класс Main публичный, должен быть объявлен в файле с именем Main.java публичный класс Main {
Проблема:
Supervin имеет уникальный калькулятор.Этот калькулятор имеет только дисплей, кнопку плюс и кнопку минус.В настоящее время на дисплее калькулятора отображается целое число N.
Нажатие кнопки «плюс» увеличивает текущее число, отображаемое на дисплее калькулятора, на 1. Аналогичным образом нажатие кнопки «минус» уменьшает текущее число, отображаемое на дисплее калькулятора, на1. Калькулятор не отображает начальные нули.Например, если на дисплее калькулятора отображается 100, однократное нажатие кнопки «минус» вызовет отображение на калькуляторе 99.
Супервин не любит нечетные цифры, потому что он считает их «нечетными».Поэтому он хочет отобразить целое число только с четными цифрами в десятичном представлении, используя только кнопки калькулятора.Поскольку калькулятор немного устарел и кнопки трудно нажимать, он хочет использовать минимальное количество нажатий кнопок.
Пожалуйста, помогите Supervin определить минимальное количество нажатий кнопок, чтобы калькулятор отображал целое числобез нечетных цифр.
Входные данные
В первой строке входных данных указано количество тестовых случаев, за которыми следуют T.Каждая строка начинается с одной строки, содержащей целое число N: целое число, первоначально отображаемое в калькуляторе Supervin.
Выходные данные
Для каждого тестового примера выведите одну строку, содержащую Case #x: y, где x - номер тестового случая(начиная с 1), а y - это минимальное количество нажатий кнопок, как описано выше.
Пределы
1 ≤ T ≤ 100. Ограничение по времени: 20 секунд на тестовый набор.Ограничение памяти: 1 ГБ.
Маленький набор данных (набор тестов 1 - видимый) 1 ≤ N ≤ 105.
Большой набор данных (набор тестов 2 - скрытый) 1 ≤ N ≤ 1016.
Образец
Вход
4
42
11
1
2018
Выход
Дело № 1: 0
Дело № 2:3
Случай № 3: 1
Случай № 4: 2
В примере примера № 1 целое число, первоначально отображаемое на калькуляторе, не имеет нечетных цифр, поэтому нажатие кнопок не требуется.
В примере № 2 нажатие кнопки «минус» три раза вызовет отображение калькулятора 8. Невозможно удовлетворить требования с помощью нажатия менее трех кнопок.
В примере № 3либо однократное нажатие кнопки «минус» (в результате чего калькулятор отобразит 0), либо однократное нажатие кнопки «плюс» приведет к тому, что калькулятор отобразит целое число без нечетной цифры.
В примере примера № 4 нажатие кнопки «плюс»дважды отобразит калькулятор 2020. Невозможно удовлетворить требованияменьше двух нажатий кнопок.
Я удалил public из класса, а затем запустил тест, но затем он выдает ошибку времени выполнения, но в Eclipse он работает нормально.
import java.util.Scanner;
class Main{
static long input_long;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("No of Test cases:");
int T = sc.nextInt();
String[] longArr = new String[T];
for(int i = 0;i < T;i++){
longArr[i] = sc.next();
}
for(int i = 0;i < longArr.length;i++) {
if(checkEven(longArr[i])) {
System.out.println("Case #"+(i+1)+": 0");
}
else {
System.out.println("Case #"+(i+1)+": "+result(longArr[i]));
}
}
sc.close();
}
static long result(String s) {
input_long = Long.valueOf(s);
long ret;
char[] arr = s.toCharArray();
if((arr[0]-'0')%2==0) {
return ret = increment(input_long);
}
else {
return ret = decrement(input_long);
}
}
static boolean checkEven(String a)
static long increment(long l)
static long decrement(long l)