Java字符串数组,计算空格数“&引用;

Java字符串数组,计算空格数“&引用;,java,arrays,count,Java,Arrays,Count,我正在向用户请求一个字符串。用户输入字符串后,会出现一个提示,询问他们是否希望看到字符串中没有空格、有一个或多个空格,然后显示字符串 我在计算字符串中的空格时遇到问题。如果字符串中有多个空格,则提供的代码仅计数1。全部代码: import java.util.*; import java.util.Scanner; public class CountSpacesInStrings { public static void main(String[] args) { Sc

我正在向用户请求一个字符串。用户输入字符串后,会出现一个提示,询问他们是否希望看到字符串中没有空格、有一个或多个空格,然后显示字符串

我在计算字符串中的空格时遇到问题。如果字符串中有多个空格,则提供的代码仅计数1。全部代码:

import java.util.*;
import java.util.Scanner;

public class CountSpacesInStrings {

public static void main(String[] args) 
{
    
    Scanner s = new Scanner(System.in);
    String[] array = new String[20];
    System.out.println("Please enter anything..., or type QUIT to quit.");
    
    for (int i = 0; i < array.length; i++) {
        array[i] = s.nextLine();
        boolean result = Arrays.stream(array).anyMatch("QUIT"::equals);
       if(result) 
       {
           break;
       }
    }
    String str = null;
    int len = -1;
    
    
    System.out.println("Would you like to display strings with No Spaces, One Space or More? Type No, One, More to see the results: ");
    String answer = s.nextLine();
    if(answer.equals("No")){
        
        for (int i = 0; i < array.length;i++) {
            int count = 0;
            if (array[i] != null) {
                if (array[i].charAt(i) != ' ') {
                    count++;
                    System.out.println(count);
                }
            }
        }
           
        

    }
        else if(answer.equals("One"))
        {
            for (int i = 0; i < array.length;i++) {
                int count = 0;
                if (array[i] != null) {
                    if (array[i].charAt(i) != ' ') {
                        count++;
                        System.out.println(count);
                    }
                    
                        //System.out.print(array[i] + " ");   
                }
             }
        }
        else
            System.out.println("No values to show");

    System.out.println();
}   
import java.util.*;
导入java.util.Scanner;
公共类countspacesinstring{
公共静态void main(字符串[]args)
{
扫描仪s=新的扫描仪(System.in);
字符串[]数组=新字符串[20];
System.out.println(“请输入任何内容…,或键入QUIT以退出”);
for(int i=0;i
}

我要看的部分是:

        if(answer.equals("No")){
        
        for (int i = 0; i < array.length;i++) {
            int count = 0;
            if (array[i] != null) {
                if (array[i].charAt(i) != ' ') {
                    count++;
                    System.out.println(count);
                }
            }
        }
if(回答等于(“否”){
for(int i=0;i
根据@Pshemo的注释:您需要添加一个嵌套的for循环。第二个for循环必须迭代
数组[i]
(这构成一个句子)并计算该句子中的
'
字符数。

根据@Pshemo的注释:您需要添加一个嵌套的for循环。第二个for循环必须遍历
数组[i]
的内容(这构成一个句子)你认为如果(数组[i].charAt(i)!=''{
有什么作用?你只有一个循环可以让你迭代数组中的所有句子,但没有任何机制可以迭代每个句子中的所有字符。你认为
如果(数组[i].charAt(i)!=''怎么样{
有吗?您只有一个循环,可以迭代数组中的所有句子,但没有任何机制可以迭代每个句子中的所有字符。这不是问题所在。请注意(int i=0;i{迭代数组中的元素,因此将该数组中的每个元素的
count
设置为
0
是正确的。OP现在需要的是检查每个句子中的所有字符。@Pshemo啊,对了,我错过了这部分逻辑。感谢您的澄清!这不是问题。请注意循环
(int i=0;icount
设置为
0
是正确的。OP现在需要的是检查每个句子中的所有字符。@Pshemo啊,对了,我错过了这部分逻辑。感谢您的澄清!