Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2023, 14:39   #1
Nad.Chel
Новичок
Джуниор
 
Регистрация: 02.01.2023
Сообщений: 1
По умолчанию Яндекс Контест. Что от меня хотят?

Решил попробовать выполнить тестовые задачки Яндекс Контеста. Задание

Цитата:
B. A+B 2
Ограничение времени 2 секунды
Ограничение памяти 64Mb
Ввод input.txt
Вывод output.txt
Даны два числа A и B. Вам нужно вычислить их сумму A+B. В этой задаче вам нужно читать из файла и выводить ответ в файл

Формат ввода
Первая строка входного файла содержит числа A и B (-2 ⋅ 109 ≤ A, B ≤ 2 ⋅ 109) разделенные пробелом

Формат вывода
В единственной строке выходного файла выведите сумму чисел A+B
Вот мой код

Код:
import java.util.Scanner;
import java.io.FileWriter;
import java.io.IOException;
import java.io.File;
public class Test {
public static int sum (int a, int b) {
return a + b;
}
public static void main (String[] args) throws IOException {
Scanner scanner2 = new Scanner("input.txt");
int a = scanner2.nextInt();
int b = scanner2.nextInt();
File output = new File("output.txt");
FileWriter myWriter2 = new FileWriter("output.txt");
myWriter2.write(sum(a, b));
myWriter2.close();
}
}
Ответ не принимается, потому что

Цитата:
Exception in thread "main" java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner. java:939)
at java.base/java.util.Scanner.next(Scanner.java :1594)
at java.base/java.util.Scanner.nextInt(Scanner.j ava:2258)
at java.base/java.util.Scanner.nextInt(Scanner.j ava:2212)
at Test.main(Test.java:11)
У кого-нибудь есть предположение, с чем это может быть связано? 🤔
Nad.Chel вне форума Ответить с цитированием
Старый 02.01.2023, 17:42   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

В доке к используемому методу есть описание когда генерится. 2^109 не влезате в инт.
p51x на форуме Ответить с цитированием
Старый 02.01.2023, 20:12   #3
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Ругается он конкретно на 11 строку в вашем тексте
Цитата:
Сообщение от Nad.Chel Посмотреть сообщение
Код:
int a = scanner2.nextInt();
https://docs.oracle.com/en/java/java....html#nextInt()

Думаю стоит еще посмотреть что именно понимается под int
Скорее всего в начале строки есть символы, которые не могут быть интерпретированы как целое число. Например, ввод может быть таким:
Код:

    -99 
  56
В этом случае надо пропустить несколько пустых строк и символов пробелов прежде чем считывать int.

Попробуйте использовать hasNextInt, чтобы понимать, что входная строка может быть интерпретирована как число.
macomics вне форума Ответить с цитированием
Старый 03.01.2023, 00:22   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от macomics Посмотреть сообщение
Думаю стоит еще посмотреть что именно понимается под int
Вы не знаете, что такое int? Или у вас есть какая-то своя интерпретация?

Цитата:
Сообщение от macomics Посмотреть сообщение
Например, ввод может быть таким
Не может

Цитата:
Сообщение от macomics Посмотреть сообщение
Попробуйте использовать hasNextInt, чтобы понимать, что входная строка может быть интерпретирована как число.
Не поможет.
Цитата:
Сообщение от p51x Посмотреть сообщение
2^109 не влезате в инт.
p51x на форуме Ответить с цитированием
Старый 03.01.2023, 00:38   #5
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
2^109 не влезате в инт.
А откуда такое значение. В условии написано -2 * 10^9 .. 2 * 10^9 (это как раз диапазон int 32-bit). Где вы там такую сумасшедшую степень увидели?

Цитата:
Сообщение от p51x Посмотреть сообщение
Вы не знаете, что такое int? Или у вас есть какая-то своя интерпретация?
А я это и не вам говорю. Я то знаю, что такое int. А вот что подразумевает под этим понятием алгоритм. У него может не быть обрезания первичных не принадлежащих цифрам символов. Из-за этого тоже будет подобная ошибка. Да и строки (символы перевода строк) тоже он может не пропускать без соответствующей команды.
macomics вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите, что от меня хотят в условии задачи? Не понимаю! smi Python 1 11.06.2020 20:59
Вопрос по сервису Яндекс.Контест и 3 задачи из олимпиады Mad_Lord Паскаль, Turbo Pascal, PascalABC.NET 10 29.01.2016 11:13
Что от меня хотят в этом задании? shewlett Помощь студентам 2 27.09.2015 18:06
ЧТо от меня хотят???? VBA матрицы v5525 Помощь студентам 3 25.03.2013 21:14