Java 基础 第三天
来源:互联网 发布:淘宝的分享有礼 编辑:程序博客网 时间:2024/05/19 23:26
Java 基础
第三天:程序逻辑-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 Test05 { public static void main(String[] args) { int sum = 0; for (int i = 2; i <= 100; i += 2) sum += i; System.out.println("sum = " + 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,计算
package com.lovoinfo;import java.util.Scanner;public class Test16 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("m = "); int m = sc.nextInt(); System.out.println("n = "); int n = sc.nextInt(); int a = 1; for (int i = 0; i <= n; i++) { a = a * m; } System.out.println(a); sc.close(); }}
练习9:找出1-100之间的素数。```Javapackage 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); } } }}<div class="se-preview-section-delimiter"></div>
练习10:找出1-100之间的完美数。
提示:完美数是该数除自身外的所有因子之和等于这个数本身的数。如28=1+2+4+7+14。
package com.lovoinfo;/** * 找出1-100之间的完美数 * @author jackfrued * */public class Test01 { public static void main(String[] args) { for(int i = 1; i <= 10000; i++) { int sum = 0; for(int j = 1; j <= i - 1; j++) { if(i % j == 0) { sum += j; } } if(sum == i) { System.out.println(i); } } }}<div class="se-preview-section-delimiter"></div>
练习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);// }// }// }// } }}<div class="se-preview-section-delimiter"></div>
练习12:输入两个正整数,计算最大公约数和最小公倍数。
package com.lovoinfo;import java.util.Scanner;/** * 输入两个正整数计算最大公约数和最小公倍数 * @author jackfrued * */public class Test02 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("请输入两个正整数: "); int num1 = sc.nextInt(); int num2 = sc.nextInt(); if (num1 > num2) { int temp = num1; num1 = num2; num2 = temp; } boolean found = false; for(int i = num1; !found && i >= 1; i--) { if(num1 % i == 0 && num2 % i == 0) { System.out.println("最大公约数是: " + i); System.out.println("最小公倍数是: " + num1 / i * num2); found = true; } } sc.close(); }}
0 0
- Java基础----第三天
- Java基础第三天
- Java 基础 第三天
- java基础第三天
- java基础第三天
- 第三天,Java基础学习
- java编程基础第三天
- Java基础学习第三天
- Java基础复习第三天
- JAVA基础学习第三天
- Java基础学习第三天
- Day03第三天java基础---------java语句
- 第三天----Java基础---面向对象上
- 第三天,Java基础学习_线程
- java语法基础_第三天
- 传智博客JAVA基础第三天
- Java基础班第三天笔记
- 【黑马程序员】-Java基础语法 第三天
- 提高第8课时,自测
- Problem J:Contest Print Server
- Java文件操作:RandomAccessFile
- Remove Linked List Elements
- hdu 2019 数列有序!
- Java 基础 第三天
- 数据库连接池
- 疯狂Java之学习笔记(21)-------------final && static
- uva 11258 String Partition (DP)
- [LeetCode]-004-Median of Two Sorted Arrays
- DOM事件处理程序总结
- 如何在EA(Enterprise Architect)中自定义数据类型(Data Type)---转
- LeetCode 201-Bitwise AND of Numbers Range
- [C/C++]_[初级]_[标准库之几种算法库函数的运用,如字符串查找(字符个数查找)、分隔、删除、替换、排序、字符交换位置、大小写转换等等]