首页 > 解决方案 > 空白位置查找

问题描述

所以我的指示如下:

编写代码以打印 2 字符字符串 passCode 中任何空格的位置。检测到的每个空格都应打印一个单独的语句,后跟一个换行符。给定程序的示例输出:Space at 1

我目前写的代码是:

import java.util.Scanner;
public class FindSpaces {
public static void main (String [] args) {
  String passCode = "";
  passCode = "A ";
  if (Character.isWhitespace(passCode.charAt(0))){
     System.out.println("Space at " +passCode.indexOf(" "));
  }
  else if (Character.isWhitespace(passCode.charAt(1))){
     System.out.println("Space at " +passCode.indexOf(" ", 1));
  }
  else{
  }

  return;
    }
  }

现在这有时有效,但如果我的输入中有多个空格,它只会打印一行。如果它对任何人有帮助,它来自 zyBooks,我不知道如何让它带来第二行显示第二个空格。

标签: javawhitespace

解决方案


虽然长度可能限制为两个,但我仍然认为 for 循环更适合:

String passCode = "";
passCode = "  ";
for (int i = 0; i < passCode.length(); i++) {
    if (passCode.charAt(i) == ' ') {
        System.out.println("Whitespace at index " + (i + 1));
    }
}

查看您的解决方案:您的代码不能多次输入任何输出。你有 if() else() - 只需删除 else,你应该没问题:

String passCode = "";
passCode = "  ";
if (Character.isWhitespace(passCode.charAt(0))) {
    System.out.println("Space at " + passCode.indexOf(" "));
}
if (Character.isWhitespace(passCode.charAt(1))) {
    System.out.println("Space at " + passCode.indexOf(" ", 1));
}

推荐阅读