2016-04-01 3 views
1

テキストから文字や単語を削除する簡単なプログラムを書いた。すべてが完璧に動作しますが、コンソールには[スペース]を書くことはできません。私がそれをするとき、何もしません。テキストからスペースを削除するようにコンソールに書き込むにはどうすればよいですか?スペースを入力する

import java.io.*; 
import java.util.*; 
public class StringDelete { 
public static void main(String args[]) { 
    String x = "bla bla bla"; 
      System.out.println(x); 
    System.out.println("What do you want to delete?"); 
    Scanner sc = new Scanner(System.in); 
    String fr = sc.next(); 
    int po = 0; 
    int le = x.length(); 
    int i = 0; 
    do { 
     po = x.substring(i).indexOf(fr); 
     if (po != -1) { 
      x = x.substring(0, po+i) + x.substring(po+i + 1); 
     } 
     i += po; 
    }while(i<le&&po!=-1); 
    System.out.println(x); 
} 
} 
+0

コードを入力してください。コードなし、助けなし... – fge

+2

スタックオーバーフローへようこそ!あなたの質問にはあなたのコードが含まれていないので答えにくいです。コードを投稿して、人々がそれを見て、どこに問題があるかを指摘できるようにする必要があります。 [Minimal、Complete、and Verifiable example](http://stackoverflow.com/help/mcve)を作成することをお勧めします。 [良い質問をするにはどうすればいいですか?](http://stackoverflow.com/help/how-to-ask)も参照してください。 [編集]ボタンを使用して質問を更新することができます。がんばろう! – Carpetsmoker

+0

[スキャナがスペースの後に表示されません]の重複している可能性があります(http://stackoverflow.com/questions/19509647/scanner-doesnt-see-after-space) – Tiz

答えて

0

String fr = sc.next(); 

あなたはnext()メソッドを使用しています。

このメソッドが空白文字に遭遇すると、その文字の前にある文字列を返します。

例: "ASDのFGHは" それはASDを返すため

  • XYZ」。
  • のため " "それは "" reurns "の
  • " XYZ(空の文字列)
  • を" それが返されます"したがって

、あなたは "「(スペース)を書き、文字列が空の文字列であり、それは空の文字列を返す前に。

代わりのnext()nextLine()を使用してください。

String fr = sc.nextLine(); 
+0

作品!どうもありがとう! – Elrok

0

あなたはString fr = sc.nextLine();とラインString fr = sc.next();を交換する必要があります。

詳細情報hereがあります。ここで

関連する問題