所以,我正在尝试制作一个基于文本的 Java 计算器,但扫描仪让我非常头疼。这是一个代码片段...
Scanner input=new Scanner(in);
while (input.hasNext()){
System.out.print(input.next()+".");
}
System.out.print("\n");
我的输入是这样的:“1 + cake(3,4,6,10*30+sin(4)) * 3”,我的输出应该是这样的:“1.+.cake(3,4,6,10* 30+sin(4)).*.3."
扫描仪应该只标记空白,但这就是我得到的:“1.+.cake.(.3.,.4.,.6.,. 10..30.+.sin.(.4.)。 ).. 3."
出于某种原因,它删除了每个空格,但也分隔了每个单词、数字和标点符号!现在我做了一些功课,并使用 input.useDelimiter(String in) 尝试了各种分隔符。我使用的一些是:“\s”“\s+”“\s*”“\s*+”“[]”等等,但无济于事。我究竟做错了什么!?!?!?!?!