5

これは私の簡単なコードです。

java.util.Scanner をインポートします。

public class WordLines
{
    public static void main(String[] args) 
    {
        Scanner myScan = new Scanner(System.in);
        String s;

        System.out.println("Enter text from keyboard");

        s = myScan.nextLine();

        System.out.println("Here is what you entered: ");
        System.out.println(s.replace(" ", "\n"));
    }
}

「グッドモーニングワールド!」のような文章を入れるとしたら (この行には空白以外の 17 文字)

テキストを表示し、その上に存在する空白以外の文字の数を出力するにはどうすればよいでしょうか。

解決した

再びすべての助けをありがとう!!

4

7 に答える 7

7

正規表現を使用してすべての空白(スペース、改行、タブ)を削除してから、文字列の長さを取得します。

input.replaceAll("\\s+", "").length()
于 2013-02-19T09:09:49.423 に答える
2

これを試して:

System.out.println(s);
System.out.println(s.replace(" ", "").length());
于 2013-02-19T09:08:40.587 に答える
0

次のようなことをします:

public static int countNotBlank(String s) {
    int count = 0;
    for(char c : s.toCharArray()) {
        count += c == ' ' ? 0 : 1;
    }
    return count;
}
于 2013-02-19T09:09:45.137 に答える
0

空白以外の文字の数を知りたいだけなら、これが役立つことを願っています。

    String aString="Good Morning World!";
    int count=0;
    for(int i=0;i<aString.length();i++){
        char c = aString.charAt(i);
        if(c==' ') continue;
        count++;
    }
    System.out.println("Total Length is:"+count);
于 2013-02-19T10:11:12.957 に答える
0

次のように、文字列から空白以外の文字を計算できます。

int non_blank_counter = 0;
//your code to read String
for(int i=0;i<s.length();i++){
// .. inside a loop ..//
if ( myStr.charAt( i ) != ' ' )
    non_blank_counter++;
}
System.out.println("number of non blank characters are "+non_blank_counter);
于 2013-02-19T09:10:31.700 に答える
0

それに対処する別の方法

import java.util.Scanner;

public class WordLines {

    public static void main(String[] args) {

        Scanner myScan = new Scanner(System.in);
        String s;

        System.out.println("Enter text from keyboard");

        s = myScan.nextLine();

        String[] splitter = s.split(" ");

        int counter = 0;
        for(String string : splitter) {
            counter += string.length();
        }

        System.out.println("Here is what you entered: ");
        System.out.println(counter);

    }

}
于 2013-02-19T09:12:04.093 に答える
0
import java.util.Scanner;


public class WordLines
{

  public static void main(String[] args) {

    Scanner myScan = new Scanner(System.in);
    String s="";

    System.out.println("Enter text from keyboard");
    while(myScan.hasNextLine()) s = s+myScan.nextLine();

    System.out.println("Here is what you entered: ");
    System.out.println(s.replace(" ", "\n"));

  }

}

入力を終了するには、最後に CTRL+C を使用する必要があります。

于 2013-02-19T09:20:00.430 に答える