2017-11-08 10 views
-2

こんにちは私は、Javaでトリム関数を使用しようとしていますが、最初のスペースの後にすべてを削除しています。 私はnext()の代わりにnextLine()を使ってみました。Java文字列トリム関数

public class StringFunctions1 extends ScannerObject{ 
public static void main(String[] args) { 
    Scanner sc=new Scanner(System.in); 
    System.out.println("enter the string"); 
    String s2; 
    System.out.println("tinm() enter value"); 
    s2=sc.next(); 
    System.out.println("trim "+s2.trim()); 
} 

}

出力

tinm()値 スペースおいSarthak スペース
を入力しておい

+0

なぜScannerObjectを拡張しますか? –

+0

'next()'はデリミタなしで1つのトークンを返します。そのため、 'trim()'は意味を持ちません。すべての文字を行区切り文字まで返す場合は、 'nextLine()'を使います。しかし、スキャナがnext()、nextInt()またはnextFoo()を使用した後にnextLine()をスキップしていることに注意してください。(https://stackoverflow.com/q/13102045) – Pshemo

+0

私はトリム関数スペースの後ですべてのデータを消去する理由私もnextLineを使用しています。まず、すべてのデータを取り上げますが、トリムを使用した後は、最初のスペースの後にveythingが削除されます。私は "Hey Sarthak"としてアウトプットが必要です。 –

答えて

0

next()のみとして空白と次のトークンを(読み出しトリムデフォルト区切り文字)。あなたは、全体のラインを読みsc.nextLine(); Eを使用する場合は、G:

Scanner sc=new Scanner(System.in); 
System.out.println("enter the string"); 
String s2; 
System.out.println("tinm() enter value"); 
s2 = sc.nextLine(); 
System.out.println("trim "+s2.trim()); 

ここnext()nextLine()メソッドのJavadocです。

+0

ありがとうnextLineは働いていました:) IDKなぜそれは初めてでした –

+0

それは 'next()'であり、 'nextLine()'ではなかったからです:) –