我正在做一个简单的项目,我来自website,它给提高我的Java编码技能带来了挑战。
import java.util.Scanner;
public class Test1 {
public void test() {
Scanner in = new Scanner(System.in);
System.out.println("enter something :");
String str = in.nextLine();
StringBuilder sb = new StringBuilder(str);
if (str.isEmpty()) {
System.out.println("you should write something");
}
if(str.length()<=30){
System.out.println("reverse : "+sb.reverse());
}else {
System.out.println("Error");
}
System.out.println("----------------------");
}
public static void main(String[] args) {
Test1 c = new Test1 ();
for (int i = 1; i <= 10 ; i++) {
System.out.println("case number : " +i);
c.test();
}
}
}
案例编号:1
输入内容:ayoub
反向:布亚
----------------------
...循环继续..
我的代码可以像我想要的那样在eclipse的终端中工作,但是当我将其放入网站的“代码编辑器”中时,这最后一个给了我一个运行时错误,提示:
线程“主”中的异常java.util.NoSuchElementException:找不到行 在java.util.Scanner.nextLine(Scanner.java:1540)
在Test1.test(Test1.java:10)
在Test1.main(Test1.java:31)
我试图在StackOverflow上搜索一些解决方案,但没有找到。
答案 0 :(得分:0)
您可能正在使用没有标准输入的在线Java代码编辑器/编译器。
如arcy所述,您可能正在使用带有内置控制台窗口的IDE,该控制台窗口允许您将标准输入传递给程序。
以下online editor将允许您添加输入。
您应该注意使用nextLine
的{{1}}方法的方式:
您得到的异常是扫描仪未获得任何输入的结果,如here所示。建议您使用Scanner的Scanner
方法在扫描仪上重构循环。