本文共 26473 字,大约阅读时间需要 88 分钟。
选择结构与循环结构
今日目标:
1.If分支结构
2.Switch分支结构1.程序的流程结构
顺序结构 :体现在程序进入某一个方法后,从上往下执行。
选择结构 :今天学 循环结构 :下次课学 1.基本if选择结构 1.格式 1>2 || 2>32.流程图
案例:1.如果我能看得见,生命也许完全不同。
2.如果我有5000元,我就去云南旅游。 3…如果你考试比我分数高,我就告诉老师你作弊。private static void text01() { Scanner sc=new Scanner(System.in); boolean a; int b; double c,d; System.out.println("请输入 看得见true或看不见false"); a=sc.nextBoolean(); if(a){ System.out.println("如果我能看得见,生命也许完全不同。"); }else { System.out.println("这里漆黑一片。"); } System.out.println("请输入数值"); b=sc.nextInt(); if(b>5000){ System.out.println("去云南旅游。"); }else { System.out.println("太穷了,家里呆着。"); } System.out.println("请输入两个分数:"); c=sc.nextDouble(); d=sc.nextDouble(); if(c>d){ System.out.println("你考试比我分数高,我要告诉老师你作弊。"); }else { System.out.println("我就知道,你不行。"); } }
2.认识流程图
3.复杂条件的if选择结构
条件中参杂着逻辑运算符
案例:1.如果我有5000元,空气污染指数<100,我就去云南旅游。 2.如果我身高1.8m,视力1.5,我就可以去当飞行员。 3.如果小明语文分数大于60,并且数学大于70;或者他的钢琴课大于80,就可以回家吃冰淇淋。private static void text02() { double a,b,c,d,e,f,g; Scanner sc2=new Scanner(System.in); System.out.println("请输入财产和空气污染指数"); a=sc2.nextDouble(); b=sc2.nextDouble(); if (a>=5000&&b<=100){ System.out.println("我去云南旅游"); }else { System.out.println("去不了"); } System.out.println("请输入你的身高和视力"); c=sc2.nextDouble(); d=sc2.nextDouble(); if (c>=1.8&&d>=1.5){ System.out.println("可以当飞行员"); }else{ System.out.println("当不了飞行员"); } System.out.println("请输入语文成绩,数学成绩,钢琴成绩"); e= sc2.nextDouble(); f= sc2.nextDouble(); g= sc2.nextDouble(); if (e>=60&&f>=70||g>=80){ System.out.println("可以回家吃冰激凌"); }else{ System.out.println("不能回家吃冰淇淋"); } }
4.if-else结构
如果,,,,否则,,,,
1.在某种情况下(运算后有一个具体的结果),三元运算符可以看成是if else的简写。
2.两个结果互斥的基本if结构的合并
3.案例: 1.如果孙悟空在五行山下压了500年,唐僧就会带他去西天取经,否则还得继续服刑。 2.如果师徒四人经历了九九八十一难,就可以修成正果,否则师父还要被妖精抓走。 3.如果小明考试大于60分,回家可以吃饭,否则回家挨打。private static void text03() { Scanner sc3=new Scanner(System.in); System.out.println("请输入被压年数"); int a=sc3.nextInt(); if(a>=500){ System.out.println("可以去取经"); }else { System.out.println("继续服刑"); } System.out.println("师徒四人经历的难数"); int b=sc3.nextInt(); if (b>=81){ System.out.println("可以修成正果"); }else { System.out.println("师傅被妖精抓走了"); } System.out.println("请输入小明的成绩"); double c=sc3.nextDouble(); if (c>=60){ System.out.println("可以回家吃饭"); }else { System.out.println("回来挨打"); } }
5.多重if选择结构
思考:最终结果会执行多少行?
多重if选择结构,最终只会执行一种结果,执行完后,马上跳出该选择结构,不会继续往下执行。1.格式:If- else if -else
2.逻辑分析: 程序面临的选择在3个或以上。 一旦进入了某一个选择,将不再执行后面的选择。意味着程序只能进入一个选择里面。 3.案例: 1.中国的歼20服役数量大于100架,将无敌于天下; 如果大于50架,可以排名世界第二; 如果大于30架,可以排名世界前五; 否则,恐怕要被小日本欺负了。 2.如果小明java考试成绩大于90分,学校奖励飞机一架, 如果大于80分,奖励坦克一辆, 如果大于60分,奖励拖拉机一辆, 否则留级重考。6.嵌套if选择结构
针对有前提条件的情况,也就是条件有层级包含关系。
案例: 1.在全校举行的100米赛跑中,如果跑出10秒的成绩,进入决赛,如果是男生,进入男子队,如果是女生,进入女子队。 2.在厚溥的学员,顺利完成结业考试(>60),允许毕业,找到工作(true),出去挣钱,没有找到,回来继续学习。private static void text04() { Scanner sc4=new Scanner(System.in); System.out.print("请输入比赛成绩:"); float a=sc4.nextFloat(); if(a<=10){ System.out.println("进入决赛"); boolean b; System.out.println("男生请输入true,女生请输入false"); b=sc4.nextBoolean(); if (b==true){ System.out.println("进入男子队"); }else if (b==false){ System.out.println("进入女子队"); } }else { System.out.println("淘汰"); } System.out.print("请输入考试成绩:"); double c=sc4.nextDouble(); if (c>=60){ System.out.println("允许毕业,去找工作"); }else if (c<60){ System.out.println("回来继续学习"); } }
7.switch的用法
1.案例:
某新型彩票中奖规则:猜中6个球,一等奖,5个球,二等奖,4个球,三等奖,否则没有中奖。private static void text06() { Scanner sc6=new Scanner(System.in); System.out.println("请输入你猜中的球数"); int num=sc6.nextInt(); switch(num){ case 6: System.out.println("一等奖"); break; case 5: System.out.println("一等奖"); break; case 4: System.out.println("一等奖"); break; default: System.out.println("没有中奖"); break; } }注意两个细节:1.任何一种情况,都建议带上break ,如果忘记了,会继续往下执行 2.default可以放在任意位置,也建议带上break,如何不加break,建议放在末尾 3.switch不支持long类型 4.switch不能使用continue
2.理解:多重if在等值判断的情况下作形式上的改版和演化:
1.Select which:选择哪一个? 2.提取公因式 3.只能选择多种结果中的一种,故每一种结果执行完后要跳出结构,即break; 3.特点:条件为等值判断 4.注意:忘记写break会怎样? 程序会从匹配的条件一直往下执行。 5.补充:jdk7版本及更高版本,支持String类型和枚举类型的判断。总结:
根据不同的条件和选择的情况现作出以下分类讨论: 1.一个条件一种选择结果: 基本if选择结构 2.多个条件一种选择结果: 复杂条件if选择结构(通过逻辑运算符把多个条件判断连接起来) 3.一个条件,2种选择结果: If - else 4.一个条件,3种以上选择结果: If else if … else(范围条件判断) 5.多个条件,存在前提条件的情况: 嵌套if结构 6.在第4种情况中,条件判断为等值判断,而不是范围判断的情况下,一般使用 Switch8.代码块
什么是代码块?
每一个代码块有它的作用域 ,相当于一个局部的小天地,小环境。 { } 不能在外面调用代码块里面的变量。作业:
1.编写程序,用户输入一个1~7的数字,输出对应的星期。
private static void one() { Scanner sc1=new Scanner(System.in); System.out.println("请输入数字1-7"); int num=sc1.nextInt(); switch(num){ case 1: System.out.println("今天是星期"+num); break; case 2: System.out.println("今天是星期"+num); break; case 3: System.out.println("今天是星期"+num); break; case 4: System.out.println("今天是星期"+num); break; case 5: System.out.println("今天是星期"+num); break; case 6: System.out.println("今天是星期"+num); break; case 7: System.out.println("今天是星期日"); break; default: System.out.println("输入错误,没有星期"+num+"这个日期"); break; } }
2.用户输入一个月份数,判断该月份属于哪个季节,并输入结果。(3,4,5春季,6,7,8夏季, 9,10,11秋季, 12,1,2冬季)
private static void two() { Scanner sc2=new Scanner(System.in); System.out.print("请输入月份数:"); int a1=sc2.nextInt(); switch(a1){ case 3: ; case 4: ; case 5: System.out.println("现在是春季"); break; case 6: ; case 7: ; case 8: System.out.println("现在是夏季"); break; case 9: ; case 10: ; case 11: System.out.println("现在是秋季"); break; case 12: ; case 1: ; case 2: System.out.println("现在是冬季"); break; default : System.out.println("没有这个季节"); break; } }
- 要求用户输入一个四位数,如果用户输入不是四位数,将提示错误信息,如果是四位数,将这个四位数的个,十,百,千位的数字单独输出来,并将他们的和求出来! 例:用户输入2045,输出结果为:个位:5,十位:4,百位:0,千位:2,和为:11
private static void three() { Scanner sc3=new Scanner(System.in); System.out.println("请输入四位数:"); int a=sc3.nextInt(); if (a>999||a<10000){ int b=a%10,c=(a%100)/10,d=(a/100)%10,e=a/1000; System.out.println("个位:"+b+" 十位:"+c+" 百位:"+d+" 1千位:"+e); System.out.println("和为:"+(b+c+d+e)); }else{ System.out.println("输入错误"); } }
- 某公司即将为员工买保险,要求如下:已婚的男、女性都可以买保险,未婚男性25岁以下不提供保险,25岁以上(包括)提供保险,未婚女性22岁以下不提供保险,22岁以上(包括)提供保险,请用程序实现以上功能,接受员工的信息,显示公司是否为他提供保险,并显示原因(如:因为已婚,公司为你提供保险;公司不能为你提供保险,因为未婚男性在25岁以上才能提供保险,已未婚和性别都用0和1表示)
private static void four() { Scanner sc4=new Scanner(System.in); int a; int b,c,d,e,f; System.out.println("请输入数字,男 0,女 1"); a=sc4.nextInt(); if(a==0){ System.out.println("请输入是否已婚,已婚 1,未婚 0"); b=sc4.nextInt(); if (b==1){ System.out.println("因为已婚,公司为你提供保险"); }else { System.out.println("请输入年龄:"); c=sc4.nextInt(); if (c>=25){ System.out.println("应为年龄到25,公司可以为你提供保险"); }else { System.out.println("应为年龄没到25,公司不能为你提供保险"); } } }else{ System.out.println("请输入是否已婚,已婚 1,未婚 0"); d=sc4.nextInt(); if (d==1){ System.out.println("因为已婚,公司为你提供保险"); }else { System.out.println("请输入年龄:"); e=sc4.nextInt(); if (e>=22){ System.out.println("应为年龄到22,公司可以为你提供保险"); }else { System.out.println("应为年龄没到22,公司不能为你提供保险"); } } } }
- 用A,B,C等级对学生的的成绩分类, 其中0 - 59是A, 60 – 80是B,81 – 100 是C等级,请用代码实现该功能,判断某位同学的分数等级,同学的的分数由用户输入
private static void five() { /* 用A,B,C等级对学生的的成绩分类, 其中0 - 59是A, 60 – 80是B,81 – 100 是C等级, 请用代码实现该功能,判断某位同学的分数等级,同学的的分数由用户输入*/ Scanner sc5=new Scanner(System.in); System.out.println("请输入你的分数0-100"); double a=sc5.nextDouble(); if(a<60){ System.out.println("你的成绩等级是A"); }else if (a<81){ System.out.println("你的成绩等级是B"); }else { System.out.println("你的成绩等级是C"); } }
- 某超市进行促销活动,规则如下:如果是本超市的会员,购买的商品总价在100元以上,八折优惠;如果是会员但商品总价在100元以下9折优惠;如果非会员商品总价在100以上九折优惠;如果非会员商品总价在100以下,不打折;询问用户是否是会员(0和1代表),和商品的总价,根据答案判断折扣额以及最终要付款的金额
private static void six() { Scanner sc = new Scanner(System.in); System.out.println("您是否是会员输入0是,输入1不是:"); int hy=sc.nextInt(); System.out.println("你的商品总价是:"); double p=sc.nextDouble(); if(hy!=0&&p>100){ double z=p*0.9; double k=p-z; System.out.println("你优惠了:"+k+",最终付款:"+z); }else if(hy!=0&&p<100){ System.out.println("你最终付款:"+p); }else if(hy!=1&&p>100){ double z1=p*0.8; double k=p-z1; System.out.println("你优惠了:"+k+",最终付款:"+z1); }else if(hy!=1&&p<100){ double z2=p*0.9; double k=p-z2; System.out.println("你优惠了:"+k+",最终付款:"+z2); } }
- 判断用户输入的年份是不是闰年,接受用户输入的年份后,首先要判断数字是不是正确的年份,年份是四位数,闰年的条件是符合下面二者之一:①能被4整除,但不能被100整除;②能被4整除,又能被400整除。
private static void seven() { Scanner sc7=new Scanner(System.in); System.out.println("请输入四位数的年份:"); int a=sc7.nextInt(); if ((a%4==0&&(a%100)!=0)||a%400==0){ System.out.println("是闰年"); }else { System.out.println("不是闰年"); } }
- 判断某个变量里存放的字母是不是元音字母(aoeiu)
private static void eight() { Scanner sc8=new Scanner(System.in); System.out.println("请输入字母:"); String a1=sc8.next(); switch (a1){ case "a": ; case "e": ; case "i": ; case "o": ; case "u": System.out.println("是元音字母"); break; default: System.out.println("不是元音字母"); break; } }
- 用代码实现以下的本周食谱:周一:鸡蛋 周二:鱼 周三:青菜 周四:牛肉 周五: 虾 周六:汉堡 周天:鸡翅,先询问用户今天是星期几,接受用户的答案后,判断输出今天的食谱
private static void nine() { Scanner sc9=new Scanner(System.in); System.out.println("今天是星期几:"); int a=sc9.nextInt(); switch(a){ case 1: System.out.println("鸡蛋") ; break; case 2: System.out.println("鱼"); break; case 3: System.out.println("青菜"); break; case 4: System.out.println("牛肉"); break; case 5: System.out.println("虾"); break; case 6: System.out.println("汉堡"); break; case 7: System.out.println("鸡翅"); break; default: System.out.println("出错了"); break; } }
- 接受用户输入的四个数字a,b,c,d,将四个数中的最大值求出来(例如输出结果为:a的值为20,a最大)!
private static void ten() { Scanner sc10=new Scanner(System.in); System.out.println("请输入四个整数"); int a=sc10.nextInt(); int b=sc10.nextInt(); int c=sc10.nextInt(); int d=sc10.nextInt(); int max; max=a>b?a:b; max=max>c?max:c; max=max>d?max:d; System.out.println("最大的值为:"+max); if (max==a){ System.out.println("a的值为"+a+",a最大"); } if (max==b){ System.out.println("b的值为"+b+",b最大"); } if (max==c){ System.out.println("c的值为"+c+",c最大"); } if (max==d){ System.out.println("d的值为"+d+",d最大"); } /* Scanner sc = new Scanner(System.in); System.out.println("请输入第一个数:"); int a1=sc.nextInt(); System.out.println("请输入第二个数:"); int a2=sc.nextInt(); System.out.println("请输入第三个数:"); int a3=sc.nextInt(); System.out.println("请输入第四个数:"); int a4=sc.nextInt(); if(a1>a2&&a1>a3&&a1>a4){ System.out.println("a的值为"+a1+",a最大"); }else if(a2>a1&&a2>a3&&a2>a4){ System.out.println("b的值为"+a2+",b最大"); }else if(a3>a1&&a3>a2&&a3>a4){ System.out.println("c的值为"+a3+",c最大"); }else if(a4>a3&&a4>a2&&a4>a1){ System.out.println("d的值为"+a4+",d最大"); }*/ }
预习内容:
循环循环结构
今日目标:
while循环
do-while循环 for循环1.while循环
循环变量:记录循环的次数
循环条件:决定是否还要继续下去,循环变量的范围(上限,下限) 循环体:重复性的工作一.当我们需要重复做一件事情时,可以用循环来解决。参考ppt 6页
二.While循环的格式和步骤:(画流程图) 1.定义循环变量,并初始化 2.While作条件判断,执行循环或跳出循环。 三.案例: 1.某学员为表决心,决定抄写100遍“好好学习,天天向上。” 2.输入小明的考试成绩,如果及格,奖励钢笔一支,否则继续学习和做作业,然后再考。 3.输入你想在这个星球上待多少年,然后模拟时光飞快的过了每一年。package com;import java.util.Scanner;public class xunhuan { public static void main(String[] args) { three(); } private static void three() { Scanner sc3=new Scanner(System.in); System.out.print("请输入你想在这个星球上待多少年:"); int a1=sc3.nextInt(),b=1; while (b<=a1){ System.out.println("你已经呆了"+b+"年"); b++; } } private static void two() { Scanner sc2=new Scanner(System.in); System.out.println("请输入小明的成绩"); double a1=sc2.nextDouble(); while(a1<60){ System.out.println("继续学习"); System.out.println("请再输入小明的成绩"); a1=sc2.nextDouble(); } System.out.println("奖励钢笔一支"); } private static void one() { Scanner sc1=new Scanner(System.in); int i=0; while (i<10){ System.out.println("好好学习,天天向上"); i++; } }}
总结:循环就像是一个人在河里顺水而下,突然遇到一个漩涡。
2.do-while
一.格式:
二.案例: 1.U1学完了,同学们很开心,接下来就要面临考试了,考试及格的学员,顺利升级U2课程学习,不及格的呢,则要准备重考! 2.火车中途安检,查看身上是否有违禁物品,如果没有,可以继续乘坐,否则,赶下车去! 3.飞机中途安检,查看身上是否有违禁物品,如果没有,可以继续乘坐,否则自己跳下去!3.While 和 do -while 的区别
1.while 和do-while格式写三遍体会写法的区别和注意分号。
2.While先条件判断,再执行循环体,do-while 先执行循环体,再条件判断。 3.区分理解:先安检,在上车;先坐车,出站安检。 先看口袋钱够不够,再决定是否进店消费; 先进去点餐吃饭,结账买单时再看钱够不够4For循环:
一.语法和执行顺序:
二.使用场景:循环次数固定:更加突出具体了开始节点和结束节点 三.案例: 1.打印边长为5矩形 2.打印平行四边形 3.打印三角形 4.打印菱形 5.打印空心菱形 6.升级上面的案例,边长由用户输入package four;import java.util.Scanner;public class XunHuan { public static void main(String[] args) { five1(); }//任意长度的空心菱形 private static void five1() { Scanner sc=new Scanner(System.in); System.out.print("请输入空心菱形的边长:"); int a=sc.nextInt(); for (int i = 1; i <=a; i++) { for (int k=a;k>=i;k--){ System.out.print(" "); } for (int j = 1; j <= i; j++) { if (j==1||j==i){ System.out.print("* "); }else { System.out.print(" "); } } System.out.println();//换行 } for (int i = (a-1); i>=1; i--) { System.out.print(" "); for (int k=(a-1);k>=i;k--){ System.out.print(" "); } for (int j = 1; j <= i; j++) { if (j==1||j==i){ System.out.print("* "); }else { System.out.print(" "); } } System.out.println();//换行 } } //边长任意的菱形 private static void four1() { Scanner sc=new Scanner(System.in); System.out.print("请输入菱形的边长:"); int a=sc.nextInt(); for (int i = 1; i <=a; i++) { for (int k=a;k>=i;k--){ System.out.print(" "); } for (int j = 1; j <= i; j++) { System.out.print("* "); } System.out.println();//换行 } for (int i = (a-1); i>=1; i--) { System.out.print(" "); for (int k=(a-1);k>=i;k--){ System.out.print(" "); } for (int j = 1; j <= i; j++) { System.out.print("* "); } System.out.println();//换行 } } //边长任意的正三角形 private static void three1() { Scanner sc=new Scanner(System.in); System.out.print("请输入三角形的边长:"); int a=sc.nextInt(); for (int i = 1; i <= a; i++) { for (int k=a;k>=i;k--){ System.out.print(" "); } for (int j = 1; j <= i; j++) { System.out.print("* "); } System.out.println();//换行 } } //任意长度的平行四边形 private static void two1() { Scanner sc=new Scanner(System.in); System.out.println("请输入平行四边形的长:"); int b=sc.nextInt(); System.out.println("请输入平行四边形的宽:"); int a=sc.nextInt(); for (int i = 1; i <= a; i++) {//每行 for (int k = 1; k < i; k++) {//空格 System.out.print(" "); } for (int j = 1; j <= b; j++) { System.out.print("* "); } System.out.println();//换行 } }//输入任意长度的矩形 private static void one1() { Scanner sc=new Scanner(System.in); System.out.println("请输入矩形的宽:"); int a=sc.nextInt(); System.out.println("请输入矩形的长:"); int b=sc.nextInt(); for (int i = 1; i <= a; i++) { for (int j = 1; j <= b; j++) { System.out.print("* "); } System.out.println();//换行 } } //空心菱形 private static void five() { for (int i = 1; i <=5; i++) { for (int k=5;k>=i;k--){ System.out.print(" "); } for (int j = 1; j <= i; j++) { if (j==1||j==i){ System.out.print("* "); }else { System.out.print(" "); } } System.out.println();//换行 } for (int i = 4; i>=1; i--) { System.out.print(" "); for (int k=4;k>=i;k--){ System.out.print(" "); } for (int j = 1; j <= i; j++) { if (j==1||j==i){ System.out.print("* "); }else { System.out.print(" "); } } System.out.println();//换行 } } //菱形 private static void four() { for (int i = 1; i <=5; i++) { for (int k=5;k>=i;k--){ System.out.print(" "); } for (int j = 1; j <= i; j++) { System.out.print("* "); } System.out.println();//换行 } for (int i = 4; i>=1; i--) { System.out.print(" "); for (int k=4;k>=i;k--){ System.out.print(" "); } for (int j = 1; j <= i; j++) { System.out.print("* "); } System.out.println();//换行 } } //正三角形 private static void three() { for (int i = 1; i <= 10; i++) { for (int k=10;k>=i;k--){ System.out.print(" "); } for (int j = 1; j <= i; j++) { System.out.print("* "); } System.out.println();//换行 } }//平行四边形 private static void two() { for (int i = 1; i <= 10; i++) {//每行 for (int k = 1; k < i; k++) {//空格 System.out.print(" "); } for (int j = 1; j <= 10; j++) { System.out.print("* "); } System.out.println();//换行 } }//正方形 private static void one () { for (int i = 1; i <= 10; i++) { for (int j = 1; j <=10; j++) { System.out.print("* "); } System.out.println();//换行 } } }
5跳转语句break和continue
一.请同学们自行脑补以下情景:
1.当你在河里玩漂流的时候,突然遇到一个漩涡,转了几圈后,你瞬间像开挂了一样,一跃而起,带着你的橡皮艇从漩涡里面跳了出来。break 你后面的小伙伴不小心也进入了漩涡,他想模仿你一样跳出来,可是法力不够,在空中停留了一秒,还是再次掉进漩涡中。continue break是跳出整个循环语句,结束整个循环过程(当前所在层) continue是跳出本次循环,而不是终止循环(当前所在层) 二.案例: 1.张三在一次参加学校的10000米赛跑时,跑了8圈之后突然感到心脏不适, 不得己中途退赛。 2.李四在10000米赛跑中,乘着别人不注意,从操场中间径直穿插过去,此行为属于作弊行为。 3.录入5门课成绩,输出平均成绩。如果录入的是负数,中止录入,并提示 录入错误6.作业:
1.使用while、do-while以及for循环三种编程方式实现:计算100以内(包括 100)的偶数之和
private static void one() { int a=0,b=0; while (a<100){ a+=2; b+=a; } System.out.println("100以内的偶数之和为:"+b); int a1=0,b1=0; do { a1=a1+2; b1=b1+a1; }while (a1<100); System.out.println("100以内的偶数之和为:"+b1); int c=0; for (int i=0;i<=100;i+=2){ c=c+i; } System.out.println("100以内的偶数之和为:"+c); }}
2.输入一个整数n,实现n的阶乘。n*(n-1)*…*1
private static void two() { Scanner sc=new Scanner(System.in); System.out.print("请输入一个整数:"); int n = sc.nextInt(); int i=1,j=1; while(i<=n){ j*=i; i++; } System.out.println(n+"的阶乘为:"+j); }
3.实现99乘法表的打印和输出。
private static void three() { for (int i=1;i<=9;i++){ for (int j=1;j<=i;j++){ System.out.print(j+"*"+i+"="+(j*i)+" "); } System.out.println(); } }
4.1~10之间的整数相加,得到累加值大于20的当前数
private static void four() { Scanner sc=new Scanner(System.in); int a; int b=0; for (;b<20;b+=a){ System.out.println("请输入1-10之间的整数:"); a=sc.nextInt(); } System.out.println("累加值大于20的当前数为:"+b); }
5.循环录入Java课的学生成绩,共5人,统计分数大于等于80分的学生比例
private static void five() { Scanner sc=new Scanner(System.in); System.out.println("请输入五个学生的成绩:"); double a; double b=0; for (int i=1;i<=5;i++){ System.out.println("请输入第"+i+"个学生的成绩:"); a=sc.nextDouble(); if (a>=80){ b++; } } System.out.println("分数大于等于80分的学生比例为:"+(b/5)); }
1.输出1-10与5相乘的结果
private static void text01() { for (int i=1;i<=10;i++){ System.out.println(i+"与5相乘的结果为:"+(i*5)); } }
2.用程序计算1-100的和,并输出
private static void text02() { int sum=0; for (int i = 1; i <=100 ; i++) { sum+=i; } System.out.println("1-100的和为:"+sum); }
3.求出所有的水仙花数,水仙化数为3位数,并且每位上的数字的立方和等于该数本身
private static void text03() { for (int i=100;i<999;i++){ if (i==(Math.pow(i%10,3)+Math.pow(i/100,3)+Math.pow((i/10)%10,3))){ System.out.println("这个数是水仙花数:"+i); } } }
4.把100-200之间不能被3整除的数输出
private static void text04() { System.out.println("100-200之间不能被3整除的数为:"); int a=1; for (int i=100;i<=200;i++){ if (i%3!=0){ System.out.print(i+" "); } if (a%10==0){ System.out.println();//换行 } a++; } }
5.将1998-2008年之间的闰年年份输出
private static void text05() { System.out.println("1998-2008年之间的闰年年份为:"); for (int i=1998;i<=2008;i++){ if (i%4==0&&i%100!=0||i%400==0){ System.out.println(i); } } }
6.循环接受本班学生的考试成绩,每次接受完一个学生的分数,询问用户是否要继续,答案是‘1’时继续接受,否则,停止接受,最后输出所有学生的总分和平均分
private static void six() { Scanner sc=new Scanner(System.in); int i;//成绩 int sum=0;//记录总分 double count=0;//记录学生个数 int sex=1; do { System.out.print("请输入学生的成绩:"); i=sc.nextInt(); sum+=i; System.out.println("继续请按1"); sex=sc.nextInt(); count++; }while (sex==1); System.out.println("学生的总分为:"+sum+" 平均分:"+sum/count); }
7.计算用户输入的数字的阶乘,例如用户输入的是5,则计算5的阶乘,5的阶乘为 54321
private static void text07() { System.out.println("请输入一个正整数:"); Scanner sc=new Scanner(System.in); int a=sc.nextInt(); int b=1; for (int i=1;i<=a;i++){ b*=i; } System.out.println(a+"的阶乘为:"+b); }
8.用代码实现一个猜数字的小游戏,假设要猜的目标数字是8,先可以提示用户猜的数在0-10之间,然后循环接受用户输入的数字,如果用户输入的数字比目标数字小,就提示”小了,继续猜”,继续接受用户输入的数字,继续比较,如果大了,就”大了,继续猜”,如果用户在5次以内猜对了,就提示”你真聪明,猜对了!”并结束循环,如果猜了5次还没有猜对,就提示”真笨,不跟你玩了”,并结束循环
private static void text08() { int a=16; System.out.println("要猜的整数在0-50之间"); Scanner sc=new Scanner(System.in); System.out.println("请输入你要猜的数:"); boolean c=true; for (int i=1;i<=5;i++){ int b=sc.nextInt();//猜的数 if (b==a){ System.out.println("你真聪明,猜对了!"); c=false; break; } if (b>a){ System.out.println("大了,继续猜"); } if (b
9.求1-100之间所有3的倍数的和(用关键字continue和不用continue两种方法做)
private static void one() { int sum=0; for (int i=1;i<=100;i++){ if (i%3==0){ sum=sum+i; //System.out.print(i+" "); } } System.out.println("1-100之间所有3的倍数的和为:"+sum); int sum1=0; for (int i=0;i<100;i++){ if (i%3!=0){ continue; } sum1+=i; } System.out.println("1-100之间所有3的倍数的和为:"+sum1); }
10.上面题6改为,本班一共30个学生,循环接收学生的开始成绩,如果用户输入答案非’1’,则停止接受,如果输入的一直是’1’,但学生人数达到30也停止接收
private static void text10() { System.out.println("请输入学生的成绩:"); Scanner sc=new Scanner(System.in); double a; int b; double c=0;//总分 int d=0;//记循环 for (int i=1;i<=30;i++){ a=sc.nextDouble(); System.out.println("是否要继续,答案是‘1’时继续接受,否则,停止接受"); c=c+a; d++; b=sc.nextInt(); if (b!=1){ break; } System.out.println("请继续输入学生的成绩:"); } System.out.println("总分为:"+c); System.out.println("平均分为:"+c/d); }
转载地址:https://blog.csdn.net/qq_45850095/article/details/110477586 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!