我正在学习单级控制中断。该计划应生成一份报告,其中包括每周的每一天,每位员工每天工作的小时数以及每天的总工作小时数。给出了所有直到'while'循环的代码。我包含了变量声明以获得良好的衡量标准。我负责在'while'循环中完成控制中断并打印上述信息。我添加了一些额外的代码,但对逻辑感到困惑。协助表示赞赏。这是我的第一篇文章,所以如果我违反任何规则我会道歉。
final String HEAD1 = "WEEKLY HOURS WORKED";
final String DAY_FOOTER = " DAY TOTAL"; //spaces are on purpose
final String SENTINEL = "done";
double hoursWorked = 0;
String hoursWorkedString = "";
String dayOfWeek;
double hoursTotal = 0;
String prevDay = "";
boolean done = false;
//Read first record
dayOfWeek = JOptionPane.showInputDialog("Enter day of week or done to quit: ");
if (dayOfWeek.compareTo(SENTINEL) == 0)
done = true;
System.exit(0);
else
{
hoursWorkedString = JOptionPane.showInputDialog("Enter hours worked: ");
hoursWorked = Integer.parseInt(hoursWorkedString);
prevDay = dayOfWeek;
}
while(done == false)
{
//THIS IS WHERE I NEED TO IMPLEMENT THE CONTROL BREAK
if (dayOfWeek.compareTo(prevDay) != 0)
{
System.out.println(dayOfWeek + " " + hoursWorked);
hoursTotal = 0
prevDay = dayOfWeek;
}
System.out.println(dayOfWeek + " " + hoursWorked);
hoursTotal = hoursTotal + hoursWorked;
//ADDITIONAL WORK NEEDED HERE FOR dayChange() METHOD
}
System.out.println(DAY_FOOTER + hoursTotal);
System.exit(0);
答案 0 :(得分:0)
我喜欢将控制休息视为"休息"在关键字段数据中。逻辑组像一系列详细记录中的(键)值一样。迭代记录并打印个人"小时"简单。最后得到一个总数(按周匹配的记录组)相当容易。但是,如果想在一周内,一个月内,一年内想要细节呢?而且,人们希望该计划有效吗?控制中断的地方派上用场。您的文字将通过简单的“单级控制中断”开始。让你准备好进行3个或更多关卡控制。
整个编程语言" RPG" (报告生成语言)是围绕控制中断的概念构建的。控制中断最好在"报告"的上下文中理解,但在其他情况下可能很有用。示例:从某种意义上说,XML文档是"报告",不是吗?我发现,控制中断与SQL" GROUP"密切相关。子句。