A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. <p>package atheima;
  2. /**
  3. * 龙龙考上初中后,为了让他各方面得到全面发展,除了在学校上课外,妈妈还决定让龙龙参加很多课外培训班,学习音乐,绘画,英语等课程。
  4. 这样,龙龙除了每天在学校学习外,下午放学后,还得去参加这些辅导班的学习。每天长时间的学习让龙龙很不开心。假设一天中学习时间超过8个小时,龙龙就会不开心,并且随者学习时间越长,会越不开心。现在让你编写程序,检查龙龙这一周的学习时间安排,会不会有某天最不开心(超过8个小时,并且是最长的学习时间),若有,则输出是星期几。
  5. 输入样例:
  6. 学校上课的时间 课后培训时间
  7. 6​ 2
  8. 3​ 2
  9. 6​ 3
  10. 6​ 2
  11. 4​ 4
  12. 0​ 6
  13. 0​ 6
  14. 输出样例:
  15. 3 ---》 表示星期三
  16. */</p><p>public class Test4 {</p><p>
  17. public static void main(String[] args) {
  18.                 int[] a={6,2,3,2,6,3,6,2,4,4,0,6,0,6};
  19.                 int max=0,count=1;
  20.                 for (int i = 0; i < a.length; i+=2) {
  21.                         for (int j = i+1; j <=i+1; j++) {
  22.                                 int sum=a[i]+a[j];
  23.                                 if (sum>max) {
  24.                                         int temp=sum;
  25.                                         sum=max;
  26.                                         max=temp;
  27.                                         count++;
  28.                                 }
  29.                         }                       
  30.                 }
  31.                 if (max>8) {
  32.                         System.out.println(count);                       
  33.                 }
  34.                 else {
  35.                         System.out.println("东东很开心");
  36.                 }
  37.         }
  38. }
  39. </p>
复制代码

19 个回复

倒序浏览
没看太懂,就业班的?
回复 使用道具 举报
看明白了。
回复 使用道具 举报
第二个for循环没有必要
count++;放在if{}内.变成是计算一共有几天超过8小时
把数组换成int[] a={6,2,3,2,6,2,4,4,0,6,0,6,6,3,}; 就出错了
回复 使用道具 举报
根据你的程序修改后的
  1. public static void main(String[] args) {
  2.                 int[] a={3,2,6,2,4,4,0,6,0,6,6,3,6,2,};
  3.                 int max=0,count=0,index=1;
  4.                 for (int i = 0; i < a.length; i+=2) {
  5.                         int sum=a[i]+a[i+1];
  6.                         if (sum>max){
  7.                                 //保存最大值
  8.                                 max=sum;
  9.                                 //保存最大值的星期
  10.                                 count=index;  
  11.                         }
  12.                         //计算星期几的
  13.                          index++;               
  14.                 }
  15.                 if (max>8) {
  16.                         System.out.println(count);                        
  17.                 }
  18.                 else {
  19.                         System.out.println("东东很开心");
  20.                 }
  21.         }
复制代码
回复 使用道具 举报 1 0
学习了。。。
回复 使用道具 举报
韩侠 中级黑马 2015-6-25 19:00:27
7#
半月 发表于 2015-6-25 16:17
根据你的程序修改后的

写的不错呀
回复 使用道具 举报
支持  顶起来
回复 使用道具 举报
受教了,收藏以备后用
回复 使用道具 举报
再加个数组 不是更加清晰明了?
回复 使用道具 举报
  1. public class Demo {
  2.         public static void main(String[] args) // throws Exception
  3.         {
  4.                 int[] arr1 = { 6, 3, 6, 6, 4, 0, 0 };// 上课时间
  5.                 int[] arr2 = { 2, 2, 3, 2, 4, 6, 6 };// 培训时间

  6.                 int index = 0;// 用来标记上课时间最长的角标
  7.                 for (int i = 1; i < arr1.length; i++) {
  8.                         if ((arr1[index] + arr2[index]) < (arr1[i] + arr2[i]))//比较总和的最大值,标记总和最大值的角标
  9.                                 index = i;
  10.                 }
  11.                 System.out.println("星期"+(index+1));
  12.         }
  13. }
复制代码
回复 使用道具 举报
想表达什么
回复 使用道具 举报
zan,,,,,,,,,,,,,,,
回复 使用道具 举报
samge 中级黑马 2015-10-21 14:31:56
14#
新手过来围观的`
回复 使用道具 举报
这小程序挺有趣的
回复 使用道具 举报
感脚两个数组的思路比较好。
回复 使用道具 举报
完全看不懂,我是一个小白。。
回复 使用道具 举报
可以定义一个二维数组
回复 使用道具 举报
木帛 中级黑马 2015-10-21 23:03:41
19#
在那个城市??
回复 使用道具 举报
新手过来学习一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马