生命的宇宙和一切
我是CodeChef的新手,在CodeChef(在线编程平台)编辑器中出现以下错误,并且无法提交我的代码。
我想问一下
1)是我对待问题的方法吗?
2)当这个错误来了吗?
3)为什么我得到编译错误?
MyApproach:
import java.util.Scanner;
class Prog1 {
public static void main(String[] args) throws java.lang.Exception {
int a = 0;
Scanner sc = new Scanner(System. in );
int t = 1;
while (t != 0) {
a = sc.nextInt();
if (a != 42) System.out.println(a);
else t = 0;
}
}
}
在我的eclipse编辑器中显示的输出是:
34
34
53
53
42
但是我在Codechef编辑器中遇到以下异常:
线程“main”中的异常java.util.Scanner.throwFor(Scanner.java:862)处的java.util.NoSuchElementException
在java.util.Scanner.next(Scanner.java:1485)
在java.util.Scanner.nextInt(Scanner.java:2117)
在java.util.Scanner.nextInt(Scanner.java:2076)
在Prog1.main(Main.java:15)
Thankx提前
我猜测问题是您的Scanner
尝试在没有文本时读取文本。 尝试扫描仪的hasNextInt()
方法:
int a = 0;
Scanner sc = new Scanner(System.in);
boolean t = false;
while (!t) {
if (sc.hasNextInt()) {
a = sc.nextInt();
if (a != 42)
System.out.println(a);
else
t = true;
}
}
此外,你应该使用boolean
而不是int
(对于t
)。
你缺少if语句的括号。
while(t!=0)
{
a=sc.nextInt();
if (a != 42) {
System.out.println(a);
}
else {
t=0;
}
}
当达到时不会打印42,但是,当a等于42时,您需要再次添加系统打印呼叫:
if (a != 42) {
System.out.println(a);
}
else {
System.out.println(a);
t=0;
}
链接地址: http://www.djcxy.com/p/96119.html
上一篇: Life Universe and Everything
下一篇: Exception in thread "main" java.util.NoSuchElementException Error