import java.util.Scanner;
public class InSearchOfAnEasyProblem {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int j;
for(int i=0; i<n; i++){
j=sc.nextInt();
if(j==1){
System.out.println("HARD");
break;
}
}
if(j==0)
System.out.println("EASY");
}
}
这段代码没有编译,它显示了一个错误,表示变量j可能尚未初始化,但我们正在循环中获取输入,即使它是同一个变量中的多个输入,也应该进行修改,对吗?在这种情况下,当j从循环中出来时,它不应该保持最后一个输入吗?
局部变量没有默认值。由于Java编译器无法判断程序是否会进入循环,
int j;
if(j==0)
System.out.println("EASY");
可能是此代码的可能执行路径,将未初始化的变量与零进行比较。
解决方案:将一些值放入j,int j=0;
会起作用。
我们一直在学习循环和嵌套循环。 我的问题; 为什么增量结束后,内部for循环中变量的值会自动重置?但是,在外部for循环中,变量保持其值。 例如: 在这种情况下,程序运行10次,同时将i和count增量增加到18,然后返回到6?每次。。。有人能解释一下为什么会这样吗?
问题内容: 如果我在一个循环中有一个循环,并且一旦满足一条语句,我想中断主循环,那我应该怎么做? 这是我的代码: 问题答案: 使用标记的中断: 另请参阅 Java代码中的“循环:”。 这是什么,为什么会编译? 文献资料
我是Java新手。我正在尝试遍历一个文件并将每个字符串写入ArrayList。为此,我有如下代码: 然而,由于某种原因,这段代码陷入了无限循环。即使我将打印语句作为当块的第一行,它也不会执行。 accountData.txt文件是这样排列的: 我已经读了很多遍,经常读到这是个问题,因为人们没有用Scanner.next()来移动指针,但我相信我正在这样做。我不知道哪里出了问题。 感谢您的帮助!
问题内容: 以下示例在Node.js书中给出: 解释了while循环为何阻止执行时,作者说: 节点将永远不会执行超时回调,因为事件循环卡在了循环中,而循环在第7行开始了,因此永远不会给它处理超时事件的机会! 但是,作者没有解释为什么这是在事件循环的背景下发生的,还是在幕后真正发生了什么。 有人可以详细说明吗?为什么节点卡住?以及如何在保留控制结构的同时更改上述代码,以使事件循环不会被阻塞,并且代码
在我的程序中,我发现当为时,循环无法正确退出。它看起来像整数溢出,远远大于10,循环不会停止。请告诉我发生了什么,以及如何在大型项目中避免这个错误。 代码链接
如果我有时运行这些程序,它会在打印“玩家赢”或“玩家输”后继续运行,我可以找到原因。。 这里的输出: 球员滚轴3 2=5 分数是5 玩家滚轮6 4=10 游戏者滚轴6=12 玩家滚轮5 5=10 球员滚轴12=3 球员滚轴1 3=4 球员获胜 球员滚轴4 6=10 球员滚轴4 1=5 构建成功(总时间:0秒)