社区讨论

MnZn求助Java

灌水区参与者 2已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@lo8r54de
此快照首次捕获于
2023/10/27 23:12
2 年前
此快照最后确认于
2023/10/27 23:12
2 年前
查看原帖
rt ,MnZn最近初学 Java,做的 P5737,遇到了不解的问题:
P5737.java 内容为
JAVA
//P5737
import java.util.*;
public class P5737{
	static int[] ans;
	static boolean judge(int yr) {
		return (yr % 400 == 0) || (yr % 4 == 0 && yr % 100 != 0);
	}
	public static void main(String[] args) {
		ans = new int[360];
		int cnt = 0, st = 0, ed =0;
		try (Scanner scan = new Scanner(System.in)) {
			st = scan.nextInt();
			ed = scan.nextInt();
			while(st % 4 != 0)
				st++;
			do {
				if(judge(st)) {
					ans[cnt] = st;
					cnt++;
				}
				st += 4;
			}while(st <= ed);
			System.out.println(cnt);
			for(int i = 0; i < cnt; i++) {
				System.out.print(ans[i]);
				System.out.print(' ');
			}
			System.out.println();
			scan.close();//有无均会报错
		}
	}
}

图一为什么 P5737.java 中使用 Scanner 后 Main.java 中再使用 Scanner 会抛出错误?
以及图二是 Java 遇到存在不可达代码都会报错吗?

回复

4 条回复,欢迎继续交流。

正在加载回复...