gpt4 book ai didi

java - java 中奇怪的 char[] siu 。无法复制值并跳过空格

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

B 和 G 这让我发疯。我希望你们中的一位大师能够拯救我,让我不再把头塞进厕所唱歌!我正在尝试将一个字符数组复制到另一个数组而不复制空格。这不是最终代码,因为它只考虑 ' ' 而不是各种其他形式的空白,即\t。但这不是主要问题。

import java.io;
import java.util.*;

public class tester
{
public static void main(String args[]) throws Exception
{
Scanner in = new Scanner(new File("intxt.txt"));
String x = "";
while(in.hasNext())
{
x = in.nextLine();
}
System.out.println("This line has " + x.length() + "characters.");
char[] charAr = x.toCharArray();
for(int i = 0; i<charAr.length; i++)
{
//prints the int representation of all values
System.out.print((int)charAr[i] + " ");
}
char[] out = new char[charAr.length];
for(int i =0; i<out.length; i++)
{
char y = ' ';
if(charAr[i] != y)
{
System.out.println("in here " + (int)y);
out[i] = charAr[i];
}
}
for(int i = 0; i<out.length; i++)
{
//should print hellothere
System.out.print(out[i]+" ");
}
}

}

最佳答案

char 数组在构造时会用 0 填充。

如果输出字符数组元素 i 不是空格,则循环将其设置为与输入字符数组元素 i 相同的值。否则,它将保持输出元素不变(因此其值为 0)。

您需要为输入数组和输出数组设置单独的索引,因为您想跳过空格。因此,假设输入数组有 8 个字符,其中两个是空格,则应填充输出数组的前 6 个元素,最后两个元素应设置为您希望设置的任何内容。

        0 1 2 3 4 5 6 7 8 9 10
input: h e l l o t h e r e
output: h e l l o t h e r e ?

您在上面的示例中看到字符的索引不匹配。

我认为这是某种家庭作业。如果不是,那么请务必使用 StringBuilder 来构建输出字符串。

关于java - java 中奇怪的 char[] siu 。无法复制值并跳过空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21799499/

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