идентификационные индексы (java) - PullRequest
0 голосов
/ 06 сентября 2011

меня тошнит .. можешь помочь мне с этим? Моя проблема состоит в том, чтобы определить пробелы в моей Java-программе и ее индексах, но я не знаю, как определить индексы (JAVA). вот мой код:

import java.util.*;

public class CountSpaces
{
public static void main (String[] args)
  {
   System.out.print ("Enter a sentence or phrase: ");
   Scanner input=new Scanner(System.in);
   String str=input.nextLine();
   int count = 0;
   int limit = str.length();
    for(int i = 0; i < limit; ++i)
    {
     if(Character.isWhitespace(str.charAt(i)))
     {
      ++count;
     }
    }

спасибо, впереди.

Ответы [ 2 ]

4 голосов
/ 06 сентября 2011

Используйте ArrayList для записи индексов.Это также устраняет необходимость в подсчете, поскольку количество записей в списке - это число вхождений.

ArrayList<Integer> whitespaceLocations = new ArrayList<Integer>();
for(int i = 0; i < limit; ++i)
{
    if(Character.isWhitespace(str.charAt(i)))
    {
        whitespaceLocations.add(i);
    }
}

System.out.println("Whitespace count: " + whitespaceLocations.size());
System.out.print("Whitespace is located at indices: ");
for (Integer i : whitespaceLocations)
{
    System.out.print(i + " "); 
}

System.out.println();
2 голосов
/ 06 сентября 2011
if(Character.isWhitespace(str.charAt(i)))

Вы уже делаете большую часть этого. Если указанное выше условие истинно, то при index i у вас есть символ пробела. Однако, если вам нужно отслеживать все индексы, скопируйте индекс i в массив в if.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...