第3天
来源:互联网 发布:文档扫描软件 编辑:程序博客网 时间:2024/05/01 08:17
第三天:程序逻辑-1(分支和循环)
- 程序的结构
- 流程图
- 分支结构
- 循环结构
- 多重循环结构
练习1:分段函数求值。
package com.lovoinfo;import java.util.Scanner;public class Fx { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("x = "); double x = sc.nextDouble(); double y; if(x < -1) { y = 3 * x + 5; } else if(x <= 1) { y = x - 1; } else { y = 5 * x - 3; } System.out.println("f(x) = " + y); sc.close(); }}
练习2:个人所得税计算。在我国,个人所得税的起征点是3500元,计算公式是:
个人所得税 = (工资收入 - 五险一金 - 个税起征点) * 税率 - 速算扣除数
其中,税率和速算扣除数可以查下表得到:
package com.lovoinfo;import java.util.Scanner;public class Tax { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("请输入工资: ¥"); double salary = sc.nextDouble(); double add = salary - salary * 0.08 - 3500; double tax; if(add <= 0) { tax = 0; } else if(add <= 1500) { tax = add * 0.03; } else if(add <= 4500) { tax = add * 0.1 - 105; } else if(add <= 9000) { tax = add * 0.2 - 555; } else if(add <= 35000) { tax = add * 0.25 - 1005; } else if(add <= 55000) { tax = add * 0.3 - 2755; } else if(add <= 80000) { tax = add * 0.35 - 5505; } else { tax = add * 0.45 - 13505; } System.out.printf("需要缴纳的个人所得税: ¥%.2f元\n", tax); sc.close(); }}
作业:输入一个百分制的成绩,将其转换成对应的等级,规则如下表所示:
public class Test01 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("请输入成绩(0-100): "); int score = sc.nextInt(); if(score >= 0 && score <= 100) { String level; if(score >= 90) { level = "A"; } else if(score >= 80) { level = "B"; } else if(score >= 60) { level = "C"; } else { level = "D"; } System.out.println(level); } else { System.out.println("输入错误!"); } sc.close(); }}
练习4:输入成绩等级输出对应的评语,规则如下表所示:
package com.lovoinfo;import java.util.Scanner;public class CommentSystem { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("请输入成绩等级: "); char level = sc.next().charAt(0); switch(level) { case 'a': case 'A': System.out.println("该生成绩优异,学习踏实认真"); break; case 'b': case 'B': System.out.println("该生积极上进,学习态度较好"); break; case 'c': case 'C': System.out.println("该生学习努力,成绩有待提高"); break; case 'd': case 'D': System.out.println("该生成绩稳定,动手能力很强"); break; default: System.out.println("瓜西西,输错了!"); } sc.close(); }}
练习5:将一颗色子掷60000次,统计每一面出现的次数。
package com.lovoinfo;public class ThrowDie { public static void main(String[] args) { int f1 = 0, f2 = 0, f3 = 0, f4 = 0, f5 = 0, f6 = 0; for(int i = 1; i <= 60000; i++) { int face = (int)(Math.random() * 6 + 1); switch(face) { case 1: f1++; break; case 2: f2++; break; case 3: f3++; break; case 4: f4++; break; case 5: f5++; break; case 6: f6++; break; } } System.out.println("1点出现了" + f1 + "次"); System.out.println("2点出现了" + f2 + "次"); System.out.println("3点出现了" + f3 + "次"); System.out.println("4点出现了" + f4 + "次"); System.out.println("5点出现了" + f5 + "次"); System.out.println("6点出现了" + f6 + "次"); }}
练习6:编程计算
package com.lovoinfo;/** * 用while循环实现1-100求和 * @author jackfrued * */public class Test03 { public static void main(String[] args) { int sum = 0; // 累加变量 int i = 1; // 循环变量 while(i <= 100) { sum += i++; } System.out.println("Sum = " + sum); }}
package com.lovoinfo;/** * 用do...while循环实现1-100求和 * @author jackfrued * */public class Test04 { public static void main(String[] args) { int sum = 0; int i = 1; do { sum = sum + i; i = i + 1; } while(i <= 100); System.out.println("Sum = " + sum); }}
package com.lovoinfo;/** * 使用for循环实现1-100求和 * @author jackfrued * */public class Test05 { public static void main(String[] args) { int sum = 0; for(int i = 1; i <= 100; ++i) { sum += i; } System.out.println("Sum = " + sum); }}
作业:计算1-100之间的偶数的和。
public class Test{public static void main(String[] args){ int sum = 0; for(int i = 1; i <= 100; i ++) { if(i % 2 == 0) { sum = sum + i;}System.out.println(sum);}}}
练习7:编程计算
package com.lovoinfo;public class Test06 { public static void main(String[] args) { double sum = 0; for(int i = 1; i <= 10; i++) { sum = sum + 1.0 / i; } System.out.println(sum); }}
练习8:编程输入
package com.lovoinfo;import java.util.Scanner;public class Test07 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("n = "); int n = sc.nextInt(); double result = 1; for(int i = 1; i <= n; ++i) { result = result * i; } System.out.println(n + "! = " + result); sc.close(); }}
作业:输入两个正整数m和n,计算m输入两个正整数m和n,输入两个正整数m和n,计算m输入两个正整数m和n,计算m^n^n^。
public class xx{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("m= n="); int m=sc.nextInt(); int n=sc.nextInt(); double stor=1; for(int j=1;j<=n;j++){ stor=stor*m; } System.out.println(m+"的"+n+"次方="+stor); sc.close(); }}
练习9:找出1-100之间的素数。
package com.lovoinfo;/** * 找出1-100之间的素数(质数, 只能被1和自身整除的数) * @author jackfrued * */public class Test12 { public static void main(String[] args) { for(int i = 1; i <= 100; i++) { // 假定当前的i是素数将isPrime赋值为true boolean isPrime = true; // 在2-(i-1)之间找寻i的因子 for(int j = 2; isPrime && j <= i - 1; j++) { // i能被j整除说明它不是素数 if(i % j == 0) { // 将isPrime修改成false表示i不是素数 isPrime = false; } } // 如果isPrime的值是true说明i是素数就打印它 if(isPrime) { System.out.println(i); } } }}
练习10:找出1-100之间的完美数。
提示:完美数是该数除自身外的所有因子之和等于这个数本身的数。如28=1+2+4+7+14。
public class xxx { public static void main(String[] args) { int sum=0; for(int i=1;i<=100;i++) { for(int j=1;j<i;j++){ if(i%j==0) sum=sum+j; } if(i==sum) System.out.println(i); sum=0; }}}
练习11:找出100-999之间的水仙花数。
提示:水仙花数是各位立方和等于这个数本身的数,如153=1^3^+5^3^+3^3^。
package com.lovoinfo;public class Test11 { public static void main(String[] args) { for(int i = 100; i <= 999; i++) { int gw = i % 10; int sw = i / 10 % 10; int bw = i / 100; if(gw * gw * gw + sw * sw * sw + bw * bw * bw == i) { System.out.println(i); } }// for(int bw = 1; bw <= 9; bw++) {// for(int sw = 0; sw <= 9; sw++) {// for(int gw = 0; gw <= 9; gw++) {// int num = bw * 100 + sw * 10 + gw;// if(bw * bw * bw + sw * sw * sw + gw * gw * gw == num) {// System.out.println(num);// }// }// }// } }}
练习12:
问
输入两个正整数,求其最大公约数和最小
import java.util.Scanner;public class Test { public static void main(String[] args){ Scanner s=new Scanner(System.in); int a; int b; int m; System.out.println("键入一个数:"); a=s.nextInt(); System.out.println("再键入一个数:"); b=s.nextInt(); m=deff(a,b); int n=a*b/m; System.out.println("最大公约数为:"+m); System.out.println("最小公倍数为:"+n); } public static int deff(int x,int y){ int t; if(x<y){ t=y%x; }else if(x==y){ t=x; } else{ t=x%y; } return t; }}
0 0
- javascript---第3天
- 实习第3天
- 第3天C#
- 上班第3天
- jsp第3天
- python 第3天
- 实习第3天
- 第3 天
- 戒烟第3天
- 第3天
- mybatis第3天
- Spring第3天
- 实习第3天
- 第3天
- 第3天学习
- hadoop第3天
- 数据库第3天
- 第3天
- servlet,filter,interceptor,listener
- 低质量音频伪装高质量音频的检测方法
- 《Windows程序设计 第5版》第3章 窗口与消息 笔记
- Swing显示图片 重写Jcomponent
- 获取当前时间设置给textview
- 第3天
- Ace of Aces【The 12th Zhejiang Provincial Collegiate Programming Contest】
- 查看 SELinux状态及关闭SELinux
- Win7安装ant
- Aerospike C客户端手册———用户定义函数—注册用户定义函数
- 2015年大一下第6周项目2-Time类中的运算符重载
- Dijkstra 单源最短路径
- Lunch Time
- ViewSub