Java 简单的空间修剪程序

Java 简单的空间修剪程序,java,arrays,java.util.scanner,Java,Arrays,Java.util.scanner,我有这个java代码来为我修剪字符串中的所有空格 import java.util.Scanner; import java.util.Arrays; public class trimSpace { public static void main( String[] args ) { Scanner input = new Scanner(System.in); String str; System.out.print("Please enter a strin

我有这个java代码来为我修剪字符串中的所有空格

import java.util.Scanner;
import java.util.Arrays;

public class trimSpace {
   public static void main( String[] args ) {

   Scanner input = new Scanner(System.in);

   String str;

   System.out.print("Please enter a string:");
   str = input.nextLine();

   System.out.println("The result is : ");

   char[] charArray = new char[A.length()];
   for(int i=0;i<A.length();i++){
      if (A.charAt(i) != ' ') { //This line should ignore the space in the str
        charArray[i] = A.charAt(i); 
        System.out.print(charArray[i]);
      }     
   }
   //Expected output [j,a,v,a,,,]
   System.out.println(Arrays.toString(charArray)); //Output [j," ",A," ",V," ",A]
   }
}
import java.util.Scanner;
导入java.util.array;
公共类空间{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
字符串str;
System.out.print(“请输入字符串:”);
str=input.nextLine();
System.out.println(“结果是:”);
char[]charArray=新字符[A.长度()];
对于(int i=0;i您将“正确字符”放入找到它们的相同索引中。这样您就跳过空格并保留它们

    charArray[i] = A.charAt(i); 
    System.out.print(charArray[i]);
您需要在
charArray
中添加
计数器

    charArray[counter++] = A.charAt(i);
这样,如果输入不是空格,则只能在
charArray
中前进。或者更完整:

  int counter = 0;
  for(int i=0;i<A.length();i++){
  if (A.charAt(i) != ' ') { //This line should ignore the space in the str
    charArray[counter++] = A.charAt(i); 
  }     
int计数器=0;
对于(int i=0;i您可以尝试以下方法:

String str = "J A V A";
str = str.replaceAll("\\s+", "");

为什么不使用
replaceAll()
并删除所有空格?是的,我知道有类似的情况。但是,我正试图使用循环来实现这一点。这是正确的-但问题的设置方式这可能是一项学习数组和循环的任务…是的,我使用循环是为了更清楚地了解循环的使用。不过感谢您的回答。