АВТ
Язык:

Дистанционный практикум по программированию

Задачи Online статус Турниры
Учебники Справка СДО
 
Здравствуйте, Гость! Войдите с паролем или зарегистрируйтесь.

Решение задач на Java

Программа на Java должна содержать только один public класс с произвольным именем, который должен содержать метод:
public static void main(String[] args)
Также программа может содержать любое число вложенных и глобальных не public классов.

Пример решения задачи A+B:
import java.io.*;
import java.util.*;

public class a_plus_b
{
   public static void main(String[] args)
   {
      Scanner in = new Scanner(System.in);
      PrintWriter out = new PrintWriter(System.out);

      int a = in.nextInt();
      int b = in.nextInt();
      out.println(a + b);
      out.flush();
   }
}
Программы на Java работают несколько медленнее, чем написанные на других языках, компилируемых в машинный код. Однако, для большинства задач в проверяющей системе верные решения проходят с большим запасом по времени и вполне успешно могут быть реализованы на Java. При этом всё же желательно учитывать, что:
* класс Scanner достаточно удобен, но работает медленно. Поэтому его следует использовать для чтения небольших входных данных.
* класс BufferedReader работает достаточно быстро. Его удобно использовать в связке с StringTokenizer или StreamTokenizer.
Вот соответствующий пример решения задачи A+B:
import java.io.*;
import java.util.*;

public class Main
{
   public static void main(String[] args)
   {
      StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
      PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));

      try{
        in.nextToken();
        int a = (int) in.nval;
        in.nextToken();
        int b = (int) in.nval;
        out.println(a + b);
        out.flush();

      }
      catch (IOException e) {
        throw new Error();
      }
 
   }
}

Для корректного считывания/записи вещественных чисел, содержащих десятичную точку, на сервере уже установлена соответствующая локаль. Попыка явной установки локали по умолчанию приведёт к ошибке нарушения безопасности (возможно, это потом будет устранено).

Для корректной работы с символами с кодами больше 127 нужно явно указывать набор символов - например, так:
Scanner scanner = new Scanner(System.in, "ISO-8859-1");
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in, "ISO-8859-1"));
PrintWriter writer = new PrintWriter(new OutputStreamWriter(System.out, "ISO-8859-1"));
 
время генерации 0.016 сек.
© Copyright ВоГУ, АВТ, Носов Д.А.