java - 编写代码打印字符串中任意空格的位置

标签 java for-loop while-loop

所以我尝试编写代码来打印 2 字符字符串 passCode 中任何空格的位置。检测到的每个空格都应打印一个单独的语句,后跟一个换行符。

我写了这段代码,它会一直工作,直到 passcode = "";

  public class space{
  public static void main(String args[]) { 
  String passCode = "";
  passCode = "A ";

  int p = passCode.length();

  /*
  for(int i = 0; i < p; i++) {
     int b = passCode.charAt(i);
     if(Character.isWhitespace(b)){
        System.out.println("Space at " + passCode.indexOf(b));
     }
  }
  } 
  } 

但是我找到了一种方法,如果 passcode = ""; 它将正确评估。 发布在下面

int indexOfSpace = passCode.indexOf(" ");

   while(indexOfSpace >= 0){

     System.out.println("Space at " + indexOfSpace);
     indexOfSpace = passCode.indexOf(" ", indexOfSpace + 1);

     }

有人可以向我解释一下为什么当 while 循环的两个索引都为空而不是 for 循环时它会起作用吗?

谢谢

最佳答案

这可行,但非常初级:

import java.util.Scanner;

public class FindSpaces {
   public static void main (String [] args) {
      String passCode = "";

      passCode = "A ";
      boolean whitespaceAtZero = false;
      boolean whitespaceAtOne = false;

      whitespaceAtZero = Character.isWhitespace(passCode.charAt(0));
      whitespaceAtOne = Character.isWhitespace(passCode.charAt(1));

      if (whitespaceAtZero) {
         System.out.println("Space at 0");
      }
      if (whitespaceAtOne) {
         System.out.println("Space at 1");
      }

      return;
   }
}

关于java - 编写代码打印字符串中任意空格的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42379379/

相关文章:

java - '.class' 预期错误 java 和数组

java - 有没有更好的方法来锁定主滚动条而不将其隐藏在 GWT 中?

javascript - 在 for 循环中创建对象语法错误

php - 在 while 循环(作用域)之外使用变量

使用 For 循环的 Javascript 计算

c - 仅使用 putchar 和 getchar 将两个空格替换为 'x'

python - 陷入 while 循环 python

java - 用于更新特定用户属性的准备语句 - JDBC

java - 为什么 SimpleDateFormat 会忽略区域设置?

java - 反序列化错误时使 Firestore 缓存无效