2017-07-02 16 views
-2

私はこのプログラムを作ってしまいました。私はそれを実行し、スペースを使用せずに入力がある場合、それはうまく動作します、例えば、ちょうどBob入力の顧客入力。しかし、Bob Whiteと入力すると、次の2つの文字列の入力方向がマージされます(写真の添付図を参照)。私はここで間違って何をしていますか?Java文字列の入力が正しく機能していません

import java.util.*; 

public class Blah{ 

    public static void main(String[] args){ 

     Scanner in = new Scanner(System.in); 

     String customerName; 
     System.out.println("Enter customer name: ");   
     customerName = in.next(); 

     String customerAddress; 
     System.out.println("Enter customer address: ");   
     customerAddress = in.next(); 

     String customerPhoneNumber; 
     System.out.println("Enter customer phone number: ");    
     customerPhoneNumber = in.next(); 

     in.close(); 
    } 
} 

output

+1

「スキャナ#next()」ではなく「スキャナ#nextLine()」を使用してください。 –

+0

Elliottありがとう、私はそれに新しいし、私の人生のために私が間違った、仲間の仲間を解決することができませんでした –

答えて

0

ザッツtrem()メソッドで

customerName = in.nextLine().trim(); 
+0

intの使用の場合:Integer.parseInt(input.nextLine());ダブルの場合はDouble.toString(double)。 –

+0

ありがとうございました@Fady –

+0

あなたはようこそ –

0

あなたはtrim() methodを使用して空白を先頭と末尾から、それをトリミング、その後nextLine() methodを使用して行全体を読み込む必要があります。

代わりnextLine()メソッドを使用してみてくださいスキャナ#次の方法は、あなたの入力の最後に改行文字を消費しないので、その改行はスキャナ#nextLine次の呼び出しで消費されているため

customerName = in.nextLine().trim(); 
customerAddress = in.next().trim(); 
customerPhoneNumber = in.next().trim(); 
関連する問題