Начал изучать java.
Начал писать простенький код для решения квадратных уравнений. При попытке вывести в консоль строку с кириллицей получается следующее:
Вывод в консольC:\JAVA\equals>gradle run
> Task :run
я┐╜я┐╜я┐╜я┐╜я┐╜я┐╜я┐╜я┐╜: 1 * x + 2 * x + 3 = 0
BUILD SUCCESSFUL in 1s
2 actionable tasks: 2 executed
C:\JAVA\equals>winver
C:\JAVA\equals>
В интернете нашел несколько решений с использованием
PrintStream
.
(Пытался объявлять и в Main/Solver по отдельности и вместе)
Код//Main.java
package equal;
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
public class Main {
public static void main(String[] args) throws UnsupportedEncodingException {
Solver solver = new Solver(1,2,3);
}
}
package equal;
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
public class Solver {
private int a;
private int b;
private int c;
//Solver.java
public Solver(int a, int b, int c) throws UnsupportedEncodingException {
PrintStream printStream = new PrintStream(System.out, true, "UTF-8"); // cp866 тоже не работает
this.a = a;
this.b = b;
this.c = c;
printStream.printf("Уравение: %d * x + %d * x + %d = 0", a, b, c);
}
}
}
//build.gradle
apply plugin: 'java'
apply plugin: 'application'
sourceSets.main.java.srcDirs = ['src']
mainClassName = 'equal.Main'
jar {
manifest.attributes("Main-Class": mainClassName);
}
Однако результат почти такой-же, как и без него:
//utf-8
Task :run
╨г╤А╨░╨▓╨╡╨╜╨╕╨╡: 1 * x + 2 * x + 3 = 0
BUILD SUCCESSFUL in 1s
2 actionable tasks: 2 executed
//cp866
C:\JAVA\equals>gradle run
> Task :run
я┐╜равя┐╜я┐╜я┐╜я┐╜: 1 * x + 2 * x + 3 = 0
BUILD SUCCESSFUL in 1s
2 actionable tasks: 2 executed
C:\JAVA\equals>
Конфигурация:
- oracleJDK 18
- gradle 7.5.1
- win 10 1809