草庐IT

java - 使用 Scanner 对用户输入进行 junit 测试

我必须测试一个类中的方法,该方法使用Scanner类接受输入。packagecom.math.calculator;importjava.util.Scanner;publicclassInputOutput{publicStringgetInput(){Scannersc=newScanner(System.in);returnsc.nextLine();}}我想使用JUnit对其进行测试,但不确定如何进行。我尝试使用以下代码,但它不会工作。packagecom.math.calculator;importorg.junit.Test;importstaticorg.junit.As

java - "cannot find symbol - class Scanner"错误

这是我的代码publicclassWorkshop3{publicstaticvoidmain(String[]args){System.out.println("pleaseenterradiusofcircle");doubleradius;Scannerkeyboard=newScanner(System.in);keyboard.nextDouble(radius);}}我收到的错误是cannotfindsymbol-classscanner在线Scannerkeyboard=newScanner(System.in); 最佳答案

java - 关闭扫描器会抛出 java.util.NoSuchElementException

我正在用Java从头开始​​编写一个RPG战斗系统,雄心勃勃吧?好吧,我遇到了一些麻烦。这是我的代码:voidturnChoice(){System.out.println("Whatwillyoudo?Say(Fight)(Run)(UseItem)");ScannerturnChoice=newScanner(System.in);switch(turnChoice.nextLine()){case("Fight"):Combatfighting=newCombat();fighting.fight();default:}turnChoice.close();}当它到达代码中的那一

Java Scanner 不等待用户输入

这个问题在这里已经有了答案:ScannerisskippingnextLine()afterusingnext()ornextFoo()?(24个答案)关闭5年前。我正在使用Java的扫描仪来读取用户输入。如果我只使用nextLine一次,它就可以正常工作。有两个nextLine第一个不等待用户输入字符串(第二个)。输出:X:Y:(waitforinput)我的代码System.out.print("X:");x=scanner.nextLine();System.out.print("Y:");y=scanner.nextLine();知道为什么会发生这种情况吗?谢谢

java - Spring Condition 无法从属性文件中读取值

我正在尝试实现SpringConditionorg.springframework.context.annotation.Condition,如下所示:publicclassAPIScanningDecisionMakerimplementsCondition{@Overridepublicbooleanmatches(ConditionContextcontext,AnnotatedTypeMetadatametadata){//Notabletoreadtheproperty"swagger.scanner.can.run".ItisalwaysNULL.StringcanRunF

代码||引入Scanner类

今天凌晨主要是练习一下最基础的内容。虽然看起来很简单,但是实际上敲出来的话,还是很有难度的。比如说刚刚敲出来的。请看:importjava.util.Scanner;//引入Scanner类publicclassLoginService{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);//创建扫描器,获取控制台输入的值intpassword;//保存用户输入的密码do{System.out.println("请输入6位数字密码:");//输出提示password=sc.nextInt();//将用户在控制台输

java - Scanner Java 混淆中的定界符

根据JavaAPI,扫描器使用定界符将整个输入分成标记。我试图理解标记和分隔符。我在做这个程序时遇到了困惑importjava.util.Scanner;publicclassTest{publicstaticvoidmain(String[]args){Scanners=null;try{s=newScanner(System.in);s.useDelimiter("A");System.out.println("1"+s.next().length());System.out.println("2"+s.next().length());System.out.println("3"

java - 如何将字符串转换为 float 并避免在 java 中使用 try/catch?

在某些情况下,我需要将字符串转换为float或其他一些数字数据类型,但有可能得到一些不可转换的值,例如“-”或“/”,我无法验证所有值事先删除它们。我想避免在这件事上使用try/catch,有没有其他方法可以在java中进行正确的转换?类似于C#TryParse的东西? 最佳答案 我能想到的最简单的事情是java.util.Scanner。然而,这种方法需要为每个字符串创建一个新的Scanner实例。Stringdata=...;Scannern=newScanner(data);if(n.hasNextInt()){//check

java - 为什么 "hello\\s*world"与 "hello world"不匹配?

为什么这段代码抛出InputMismatchException?Scannerscanner=newScanner("helloworld");System.out.println(scanner.next("hello\\s*world"));相同的正则表达式在http://regexpal.com/中匹配(用\s而不是\\s) 最佳答案 与匹配器相反,扫描器内置了字符串的标记化,默认分隔符是空格。所以你的“helloworld”在比赛开始之前被标记化为“hello”“world”。如果您在扫描到不在字符串中的内容之前更改了分隔符

使用 gradle run 启动应用程序时,java.util.scanner 抛出 NoSuchElementException

我创建了一个简单的Java“echo”应用程序,它接受用户的输入并将其返回给他们以演示问题。我可以使用IntelliJ的内部“运行”命令毫无问题地运行此应用程序,并且在执行由gradlebuild生成的已编译java文件时也是如此。但是,如果我尝试使用gradlerun执行应用程序,我会从扫描器中抛出NoSuchElementException。我认为gradle或应用程序插件特别对系统IO做了一些奇怪的事情。申请packageorg.gradle.example.simple;importjava.util.Scanner;publicclassHelloWorld{publicst