- Компиляторы
-
Обучение
Изучить Python Запускаемые примеры, NumPy, pandas и другое Изучить ИИНейросети, ML и LLM с нуля Изучить C и C++ Указатели, память, STL и современный C++ Изучить C#Основы C#, ООП, LINQ, async и упражнения .NET Изучить MatplotlibЛинейные, столбчатые, точечные и круговые диаграммы с визуализацией Алгоритмы на Python Поиск, сортировка, рекурсия и визуализация O(n) Алгоритмы на C и C++ Сравнение реализаций на C и C++ Программирование для детей Учись программировать, играя!
- ЗадачиНовое
- УчителямНовое
- Обновления
- Угостить кофе
A 3×3 board is given as three strings of X, O and . (empty). A player wins with three of their marks in a row, column or diagonal. Boards never have two winners.
Implement tic_tac_toe_winner(board).
Input
board: Three rows of three characters each.
Output
Return "X" or "O" for the winner, "Draw" if the board is full with no winner, or "Pending" if empty cells remain and nobody has won.
Ограничения
board has exactly 3 rows of length 3
Примеры
Пример 1
Ввод:
board = ["XOX", ".X.", "O.X"]
Ожидаемый вывод:
"X"
Пояснение
X holds the diagonal from top-left to bottom-right, so X wins.
Пример 2
Ввод:
board = ["XOX", "XOO", "OXX"]
Ожидаемый вывод:
"Draw"
Пояснение
The board is full and no line has three of a kind: Draw.
Ссылки
-
Пример 1 Не запущеноВвод:
board = ["XOX", ".X.", "O.X"]Ожидаемый вывод:"X"Ваш вывод -
Пример 2 Не запущеноВвод:
board = ["XOX", "XOO", "OXX"]Ожидаемый вывод:"Draw"Ваш вывод
При отправке также выполняются ещё 5 скрытых теста. Если код не пройдёт один из них, вы увидите этот тест. Решите задачу, чтобы увидеть все.
Онлайн-компилятор Java (Джава)
Пишите, компилируйте и запускайте код на Java прямо в браузере - на русском языке, без установки JDK и IDE. Несколько классов и файлов, сохранение проектов и совместная работа.
🚀 260,408 всего выполнений (5,854 в этом месяце)
Практикуйте Java на задачах
Решайте задачи прямо в редакторе: запускайте тесты, отправляйте решение и получайте AI-рецензию.
☕ Онлайн-компилятор Java
Онлайн-компилятор Java от CodeUtility позволяет писать и запускать программы на Джаве прямо в браузере - на русском языке, без установки JDK и IDE. Доступны версии Java 8, 11, 17, 21 и последняя.
Код компилирует настоящий javac и выполняет обычная среда Java на сервере, поэтому классы, методы
и ввод через Scanner ведут себя так же, как на вашем компьютере.
Удобно, чтобы практиковать ООП, решать учебные задачи, готовиться к собеседованиям или быстро проверить фрагмент кода с любого устройства.
Больше, чем просто запуск кода
В одном редакторе есть всё для работы: несколько файлов, изолированный терминал, библиотеки для выбранной версии, сохранение проектов, общий доступ по ссылке и совместная работа в реальном времени.
Как пользоваться редактором
Выберите версию языка, откройте или создайте файл, напишите код и нажмите «Запустить». Результат появится в терминале. После входа в аккаунт можно хранить файлы в рабочем пространстве, устанавливать библиотеки и работать над кодом вместе с другими.
- Выберите версию и отредактируйте текущий файл или откройте другой файл рабочего пространства.
- Запустите код, при необходимости введите данные в терминале и просмотрите сохранённую историю запусков.
- Используйте библиотеки, инструменты рабочего пространства, общий доступ и чат, когда для задачи требуется несколько фрагментов кода.
💡 Основы Java и примеры, которые можно попробовать выше
1. Объявление переменных и констант
В Java необходимо указывать тип каждой переменной. Используйте final для констант.
int age = 30;
double pi = 3.14159;
char grade = 'A';
String name = "Alice";
boolean isActive = true;
// Константы
final int MAX_USERS = 100;
final String COMPANY = "CodeUtility";
2. Условные операторы (if / switch)
Используйте if, else if и switch для управления потоком выполнения.
int x = 2;
if (x == 1) {
System.out.println("Один");
} else if (x == 2) {
System.out.println("Два");
} else {
System.out.println("Другое");
}
switch (x) {
case 1:
System.out.println("Один");
break;
case 2:
System.out.println("Два");
break;
default:
System.out.println("Другое");
}
3. Циклы
Используйте for, while и do-while для итераций.
for (int i = 0; i < 3; i++) {
System.out.println(i);
}
int n = 3;
while (n > 0) {
System.out.println(n);
n--;
}
4. Массивы
Массивы хранят последовательности фиксированного размера одного типа.
int[] numbers = {10, 20, 30};
System.out.println(numbers[1]);
5. Работа с ArrayList
Используйте ArrayList для списков динамического размера.
import java.util.ArrayList;
ArrayList<Integer> nums = new ArrayList<>();
nums.add(1);
nums.add(2);
nums.add(3);
nums.remove(Integer.valueOf(2));
for (int num : nums) {
System.out.print(num + " ");
}
6. Ввод/вывод в консоли
Используйте Scanner для ввода и System.out для вывода.
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
System.out.print("Введите ваше имя: ");
String name = scanner.nextLine();
System.out.println("Привет, " + name);
7. Функции
Определяйте методы с типами возвращаемых значений и параметрами.
public static int add(int a, int b) {
return a + b;
}
System.out.println(add(3, 4));
8. HashMap
Используйте HashMap для хранения пар ключ-значение.
import java.util.HashMap;
HashMap<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
System.out.println(ages.get("Alice"));
9. Обработка исключений
Используйте try и catch для обработки исключений времени выполнения.
try {
throw new Exception("Что-то пошло не так");
} catch (Exception e) {
System.out.println(e.getMessage());
}
10. Файловый ввод/вывод
Используйте Files и Paths из java.nio.file для работы с файлами.
import java.nio.file.*;
import java.io.IOException;
Files.writeString(Paths.get("file.txt"), "Привет файл");
String content = Files.readString(Paths.get("file.txt"));
System.out.println(content);
11. Работа со строками
Строки в Java поддерживают множество методов, таких как length(), substring() и contains().
String text = "Hello World";
System.out.println(text.length());
System.out.println(text.substring(0, 5));
System.out.println(text.contains("World"));
12. Классы и объекты
Java поддерживает объектно-ориентированное программирование с использованием классов и экземпляров.
class Person {
String name;
Person(String name) {
this.name = name;
}
void greet() {
System.out.println("Привет, я " + name);
}
}
Person p = new Person("Alice");
p.greet();
❓ Частые вопросы
Как запустить код на Джаве онлайн?
Напишите или вставьте код в редактор и нажмите «Запустить». Программа скомпилируется настоящим javac и выполнится на сервере, а вывод появится в терминале.
Какие версии Java доступны?
Java 8, 11, 17, 21 и последняя версия. Нужную можно выбрать в списке над редактором.
Нужно ли устанавливать JDK?
Нет. Компилятор и среда выполнения работают на сервере, вам нужен только браузер.
Можно ли использовать несколько классов и файлов?
Да. В редакторе можно создавать несколько файлов .java и запускать их как один проект.
Работает ли ввод через Scanner?
Да. Программа запрашивает данные во время работы: вводите их в терминале.
Это бесплатно?
Да. Запуск кода бесплатен и не требует регистрации. Аккаунт нужен, чтобы сохранять проекты и делиться ими.
Нужен другой язык программирования? Все онлайн-компиляторы: Python, C++, C, C#, Java и ещё 8 языков