2012-08-15 81 views
0

每当我使用Scanner处理输入字符串并且字符串包含空格时,只会出现第一个字。我怎样才能调整这个,使整个短语输入到一个字符串变量?字符串在Java中被切断

我的代码:

import java.util.Scanner; 

public class HelloWorld { 
    public static void main(String[] args) { 
     Scanner scan = new Scanner(System.in); 
     System.out.print("Enter your name: "); 
     String name = scan.next(); 
     String namefinal = name.replace(' ', '_'); 
     System.out.println(namefinal); 
    } 
} 

回答

8

尝试scan.nextLine()代替scan.next()

+1

+1他已经两次使用它:'scan.nextLine();字符串名称= scan.nextLine();': ) – 2012-08-15 19:23:45

7

扫描仪使用定界符模式, 它默认空白

源相匹配打破其投入代币:Scanner Javadoc

-2

如果您真的想要一步完成,您必须实施自己的阅读器或使用JOptionPane。下面是一个例子

公共类的HelloWorld {

public static void main(String[] args) { 

    System.out.print("Enter your name: "); 
    String name = JOptionPane.showInputDialog("Enter your name"); 
    System.out.println(name); 

} 

}