gpt4 book ai didi

java - java去除所有空格的方法

转载 作者:IT老高 更新时间:2023-10-28 11:26:58 27 4
gpt4 key购买 nike

我有一个编程任务,其中一部分要求我编写代码,从用户那里读取一行并删除该行中的所有空白。该行可以包含一个或多个单词。

我试图用这个程序做的是让它分析每个字符,直到找到一个空格,然后将该子字符串保存为第一个标记。然后再次循环,直到它不再到达标记或行尾。

当我尝试编译它时,我不断得到它:

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index   out of range: 1
at java.lang.String.charAt(String.java:694)
at trim.main(trim.java:23)

这里是代码

import java.util.Scanner ;
import java.lang.Character;
import java.lang.String ;
public class trim
{
public static void main (String[]args)
{

String a ;
String b ;
String c ;
char aChar ;
int i = 0 ;

Scanner scan = new Scanner(System.in);

a = scan.nextLine();
a =a.trim() ;


for ( ; i >= 0 ; i++ )
{
aChar = a.charAt(i) ;
if (aChar != 32)
{
a = a.substring(0,i+1);
}
else
{
b = a.substring(i,160) ;
b= b.trim();
c = c + a ;
c = c.trim() ;
a = b ;
i = 0 ;
}
if (b.equals(null))
{
i = -1 ;
}
}
}
}

感谢您使用更简单的方法,但我仍然想让这个程序正常工作。

我不能在输入中使用哨兵。


感谢大家的帮助,

我将使用更简单的方法,并阅读 javadoc。

最佳答案

java.lang.String 类有方法 substring 而不是 substr ,那是你程序中的错误。

此外,如果您可以使用正则表达式,则可以在一行中完成此操作。

a.replaceAll("\\s+","");

关于java - java去除所有空格的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15633228/

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