2015-07-12 82 views
1
import java.util.Scanner; 
public class Test{ 
    public static void main(String[] args){ 
     Scanner input = new Scanner(System.in); 
     input.useDelimiter("."); 
     String given = input.next(); 
     System.out.println(given); 
    } 
} 

当我运行上面的代码并输入asdf.然后输入,我什么也没得到。如何使用点作为分隔符?

它正常工作与","";""\"""\\\\"或什么,只是不"." ...那么,有没有一些关于一个点或者是它只是一个问题的Eclipse IDE或什么?

回答

1

扫描仪使用正则表达式(正则表达式)作为分隔符,dot .正则表达式是特殊字符,它表示除行分隔符以外的任何字符。所以如果分隔符是任何字符当你写asdf.它的每个字符将被视为分隔符,而不仅仅是点。所以,每一次你会使用next()结果将是存在于地方空字符串我打上|

a|s|d|f|. 

要创建点文字,你需要逃避它。您可以使用\.。还有其他方法,例如使用character class[.]

因此,与

input.useDelimiter("\\."); 
尝试
相关问题