java - 从用户输入字符串中删除空格

标签 java

我正在尝试创建一个代码来删除用户输入字符串中的空格,但我在第 16 行收到错误。

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 15 at practice5.main(practice5.java:16)

注意:我们不允许使用Java的replace方法。我需要手动编码。

这是我的代码:

import java.util.Scanner;

public class practice5{
    public static void main(String args[]){
        Scanner scanner = new Scanner(System.in);
        String line;
        System.out.print("Sentence: ");
        line = scanner.nextLine();
        char phrase[] = line.toCharArray();
        int i = 0;
        int n = 0;

        while(phrase[i] != '\0') {
            if(phrase[i] == ' ') {
                for(n=i; n<phrase.length; n++) {
                    phrase[n] = phrase[n+1];
                }
            }
            i++;
        }

        String output = new String(phrase);
        System.out.print(output);
    }
}

谢谢!

最佳答案

您可以使用 String 类的函数。只需使用 line.replace("","")

关于java - 从用户输入字符串中删除空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42579700/

相关文章:

java - Jnlp 和 Browser 之间可以通信吗?

java - 您如何在数据 block 到达时使用 java.net.http 读取和打印分块的 HTTP 响应?

java - 重复大小写标签

java - Strust2从字符串到字节数组的类型转换错误?

java - 为 Java 代码定义测试数据 - 简单 - 也许使用 Scala?

java - 在 Java 中,在循环中调用字段访问器是否会在循环的每次迭代中创建新的引用?

java - Swing 是否带有 Calendar 和时间字段组件?

java - 当尝试删除数据库项时,Spring 表示不支持请求方法 'DELETE'

Java 线程转储 : Difference between "waiting to lock" and "parking to wait for"?

java - 无法为元素 RollingFile 创建 org.apache.logging.log4j.core.appender.RollingFileAppender 类型的插件