gpt4 book ai didi

java - 如何在 Eclipse 控制台窗口中显示 unicode 字符?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:13:41 24 4
gpt4 key购买 nike

我正在创建一个小型 Java 应用程序,它使用 Unicode 字符在 Eclipse Keplar 的控制台窗口中创建框的行和列。我的代码工作得很好,但我打印的每个 Unicode 字符的输出是一个小框,而不是我要打印的 Unicode 字符。

我的代码如下。我有两个类(class)。

我的主课:

package assign03;

import java.util.Scanner;

public class Assign03 {

private static int columns;
private static int cWidth;
private static int rows;
private static int rHeight;
private static Table table;

public static void main(String[] args) {
table = new Table();
Scanner input = new Scanner(System.in);

System.out.print("Enter the number of columns: ");
columns = input.nextInt();

System.out.print("Enter the width of the columns: ");
cWidth = input.nextInt();

System.out.print("Enter the number of rows: ");
rows = input.nextInt();

System.out.print("Enter the width of the rows: ");
rHeight = input.nextInt();

table.printFirstLine(columns, cWidth);

for (int r = 0; r < rows; r++) {
for (int rh = 0; rh < rHeight; rh++) {
table.printVerticalLine(columns, cWidth);
}
if (r < (rows - 1)
table.printInternalLine(columns, cWidth);
}

table.printLastLine(columns, cWidth);
input.close();
}
}

还有我的 Table.java 类:

package assign03;

public class Table {

private char firstLine[] = { '\u2501', '\u250F', '\u2533', '\u2513' };
private char internalLine[] = { '\u2501', '\u2523', '\u254B', '\u252B' };
private char lastLine[] = { '\u2501', '\u2517', '\u253B', '\u251B' };
private char verticalLine[] = { '\u2503' };
private char whiteSpace[] = { '\u2003' };

public void printFirstLine(int columns, int cWidth) {

System.out.print(firstLine[1]);

for (int c = 0; c < columns; c++) {
for (int cw = 0; cw < cWidth; cw++) {
System.out.print(firstLine[0]);
}
if (c < (columns - 1))
System.out.print(firstLine[2]);
}

System.out.println(firstLine[3]);
}

public void printVerticalLine(int columns, int cWidth) {
for (int c = 0; c <= columns; c++) {
System.out.print(verticalLine[0]);
for (int cw = 0; cw < cWidth; cw++) {
System.out.print(whiteSpace[0]);
}
}
System.out.println();
}

public void printInternalLine(int columns, int cWidth) {
System.out.print(internalLine[1]);

for (int c = 0; c < columns; c++) {
for (int w = 0; w < cWidth; w++) {
System.out.print(internalLine[0]);
}
if (c < (columns - 1))
System.out.print(internalLine[2]);
}

System.out.println(internalLine[3]);
}

public void printLastLine(int columns, int cWidth) {

System.out.print(lastLine[1]);

for (int c = 0; c < columns; c++) {
for (int w = 0; w < cWidth; w++) {
System.out.print(lastLine[0]);
}
if (c < (columns - 1))
System.out.print(lastLine[2]);
}

System.out.println(lastLine[3]);
}
}

应用程序运行时,输出如下。我对列、行、列宽和行宽使用 4 的输入。

Console Output

为什么我的控制台输出看起来像这样?谁能帮我让 Unicode 正确显示?谢谢。

最佳答案

对我有用的是转到工作区下的首选项,并将“文本文件编码”更改为 UTF-8。

关于java - 如何在 Eclipse 控制台窗口中显示 unicode 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20050309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com