2016-04-27 14 views
0

コンソールから空白を入力した場合、 コンソールでこれを文字列として表示します。しかし、私がそれを直接行うと正しく動作します。どうして ?空白をコンソール入力から空白として印刷するにはどうすればよいですか?コンソールの空白をJavaで入力

public static void main(String[] args) { 

    Scanner sc = new Scanner(System.in); 
    System.out.print("Input Whitespace :"); 
    String ss = sc.nextLine();//input whitespace from console 
    String st ="\n \t";//input whitespace directly 
    System.out.println("print whitespace direcly :"+st+"print whitespace from console : "+ss); 

} 

入力:入力空白ます:\ n \トン

出力:直接使う印刷空白:コンソールから 印刷空白ます:\ n \トン

+0

私はこれを直接呼び出しています:String st = "\ n \ t"; –

+0

'\ n'の入力は有効な空白ではありません。単なるバックスラッシュと意味のない「n」です。同じことが入力 '\ t'にも当てはまります。 – Tom

+0

有効な空白でない場合、コンソールから有効な空白を入力するにはどうしたらいいですか? –

答えて

1

はい、今では動作します:

ss=ss.replace("\n", "\\n"); 
    ss=ss.replace("\t", "\\t"); 
    ss=ss.replace("\f", "\\f"); 
    ss=ss.replace("\r", "\\r"); 
    ss=ss.replace("\\n", "\n"); 
    ss=ss.replace("\\t", "\t"); 
    ss=ss.replace("\\f", "\f"); 
    ss=ss.replace("\\r", "\r"); 
+0

最初の4行の目的は何ですか? 'ss'はこれらの空白を含んでいないので、それらを置き換える必要はありません。 – Tom

+0

\ n、\ t、\ f、\ rを空白として使いたいです。だから、私はこれをしなければならない。それ以外の空白(改行、タブ)のみが印刷されていません\ n \ t \ r \ f印刷します。 –

+0

@tom。私はあなたが私の問題を理解できないと思う。 –

関連する問題