gpt4 book ai didi

Java 问题 - Null char 在 Mac OS 上不打印任何字符,但在 Windows 上打印空格

转载 作者:行者123 更新时间:2023-12-02 01:09:09 26 4
gpt4 key购买 nike

我正在尝试编写一个删除文本空格的代码。我在 Mac 上编写了这个程序,得到了我需要的结果,但是当在 Windows 上运行相同的代码时,它会将空字符(Ascii 代码 0)打印为空格。

声明:“MetodosComunes.leerTextoPorTeclado()”使用户引入一个字符串并将其分配给变量“textoPuro”。

public static void main(String[] args) {

String textoPuro;

char espacio = ' ';

System.out.println("Introduzca una frase: ");

textoPuro = MetodosComunes.leerTextoPorTeclado();

char[] contenido = new char[textoPuro.length()];

for (int i = 0; i < textoPuro.length(); i++) {

contenido[i] = textoPuro.charAt(i);

if (contenido[i] == espacio) {

contenido[i] = 0;

}

System.out.print(contenido[i]);

}

}

如果我输入“你好吗”...

Mac 操作系统上的结果:“Howareyou”

Windows 上的结果:“你好吗”

在 Windows 中,它实际上进入条件并将空字符分配给该元素,但它仍然是空格。

最佳答案

您应该完全跳过该字符,而不是插入 0:

int k = 0;

for (int i = 0; i < textoPuro.length(); i++) {
char c = textoPuro.charAt(i);

if (c != espacio) {
contenido[k++] = c;
}
}

System.out.println(String.valueOf(contenido, 0, k));

这只会将非空格字符放入数组中。

关于Java 问题 - Null char 在 Mac OS 上不打印任何字符,但在 Windows 上打印空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59617643/

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