10-12下午

 下午主要是讲了二维数组,这个感觉听起来比昨天的好懂一些,就是把好几个数组放到一个大的数组里,这个大的数组就是二维数组。

 just like this  [[77,88,99],[77,88,99],[77,88,99]]

老师演示做了一个等腰三角形

var attr=[];
attr[0] = [" "," "," "," ","△"];
attr[1] = [" "," ","△","△","△"];
attr.push(["△","△","△","△","△"]);

今下午的一个题目,我觉得很好,让我可以更直接的去明白数组的具体用法。

接收三个学生的  三门成绩  保存为一个二维数组  计算每个学生的总分,平均分,班级的总分,每门课程成绩的平均分

var info = [ [], [], [] ];
var sum = 0;
var ke = [0,0,0];
for(var i = 0; i<info.length; i++){
info[i][0] = prompt("请输入学生姓名");
info[i][1] = prompt("请输入语文成绩");
info[i][2] = prompt("请输入数学成绩");
info[i][3] = prompt("请输入英语成绩");
info[i][4] = +info[i][1] + +info[i][2] + +info[i][3];
info[i][5] = info[i][4]/3;

sum = sum + +info[i][4]; //班级总成绩
ke[0] = ke[0] + +info[i][1];//语文总成绩
ke[1] = ke[1] + +info[i][2];//数学总成绩
ke[2] = ke[2] + +info[i][3];//英语总成绩

}
for(var i = 0; i<info.length;i++){
document.write(info[i][0]+"的语文成绩:" +info[i][1]+";数学成绩:" +info[i][2]+";英语成绩:" +info[i][3]+";总成绩:" +info[i][4]+";平均成绩:" +info[i][5]+"<br>")
}
document.write("班级总成绩:" +sum+"<br>")
document.write("语文平均成绩:" +ke[0]/3+";数学平均成绩:" +ke[1]/3+";英语平均成绩:" +ke[2]/3)

}

今天是最后一天语法的学习,从明天开始就要进入实战环节了,还是挺有顾虑的,毕竟我是觉得我js这块没怎么学好,看来只能等实战的时候边做边熟悉了。加油吧

转载于:https://www.cnblogs.com/Heng23/p/7656891.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好,根据您的要求,我可以提供计算请假天数的最优算法,具体实现如下: ```java import java.time.Duration; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; public class LeaveDaysCalculation { /** * 计算请假天数 * @param startTime 请假开始时间,格式为 yyyy-MM-ddHH:mm:ss,例如 2022-09-3013:30:00 * @param endTime 请假结束时间,格式为 yyyy-MM-ddHH:mm:ss,例如 2022-10-1517:30:00 * @return 请假天数 */ public static int calculateLeaveDays(String startTime, String endTime) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-ddHH:mm:ss"); LocalDateTime startDateTime = LocalDateTime.parse(startTime, formatter); LocalDateTime endDateTime = LocalDateTime.parse(endTime, formatter); LocalDate startDate = startDateTime.toLocalDate(); LocalDate endDate = endDateTime.toLocalDate(); // 判断开始时间是否在当天下午下班后或者结束时间是否在当天上午上班前 boolean isStartAfternoonOff = startDateTime.isAfter(LocalDateTime.of(startDate, LocalTime.of(12, 30))); boolean isEndMorningOn = endDateTime.isBefore(LocalDateTime.of(endDate, LocalTime.of(8, 30))); // 如果开始时间在当天下午下班后,按照一天请假算,否则按照 0.5天算 double startLeaveDays = isStartAfternoonOff ? 1 : 0.5; // 如果结束时间在当天上午上班前,按照一天请假算,否则按照 0.5天算 double endLeaveDays = isEndMorningOn ? 1 : 0.5; // 计算中间完整的工作日和法定假日天数 LocalDate current = startDate.plusDays(1); int workDays = 0; int holidayDays = 0; while (current.isBefore(endDate)) { int dayOfWeek = current.getDayOfWeek().getValue(); if (dayOfWeek == 6 || dayOfWeek == 7) { holidayDays++; } else { workDays++; } current = current.plusDays(1); } // 计算整个请假期间的工作时间总长度,并除以每个工作日的长度,得到请假的天数 long workTime = Duration.between(startDateTime, endDateTime).toMinutes(); double workDaysBetween = ((workDays + holidayDays + startLeaveDays + endLeaveDays) * 480.0) / 60.0; return (int) Math.ceil(workTime / workDaysBetween / 8.0); } } ``` 您可以将以上代码复制到您的 Java 项目中,然后在需要计算请假天数的地方使用 `LeaveDaysCalculation.calculateLeaveDays(startTime, endTime)` 方法,其中 startTime 和 endTime 分别为开始时间和结束时间的字符串,例如 "2022-09-3013:30:00" 和 "2022-10-1517:30:00"。该方法会返回一个整数,即请假天数。 需要注意的是,该方法假定工作日是从周一到周五,周六和周日是周末假日。如果您的工作日不同,可以在代码中修改相应的判断逻辑。另外,如果您的上班时间和下班时间不同,需要在代码中修改这些时间的定义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值