From 0b68a6f37903897d1c7055bc43de498e8eed7c68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=B5=A9=E5=9D=A4?= <2472778552@qq.com> Date: Thu, 30 Mar 2023 21:26:11 +0800 Subject: [PATCH 1/2] =?UTF-8?q?java=E7=AC=AC=E4=B8=80=E6=AC=A1=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...34\344\270\232\347\255\224\346\241\210.md" | 158 ++++++++++++++++++ ...\344\270\232-\347\273\203\344\271\2401.md" | 115 +++++++++++++ 2 files changed, 273 insertions(+) create mode 100644 "16 \351\231\210\346\265\251\345\235\244/01.\346\257\217\346\227\245\344\275\234\344\270\232-\350\277\220\347\256\227\347\254\246\344\275\234\344\270\232\347\255\224\346\241\210.md" create mode 100644 "16 \351\231\210\346\265\251\345\235\244/02.\346\257\217\346\227\245\344\275\234\344\270\232-\347\273\203\344\271\2401.md" diff --git "a/16 \351\231\210\346\265\251\345\235\244/01.\346\257\217\346\227\245\344\275\234\344\270\232-\350\277\220\347\256\227\347\254\246\344\275\234\344\270\232\347\255\224\346\241\210.md" "b/16 \351\231\210\346\265\251\345\235\244/01.\346\257\217\346\227\245\344\275\234\344\270\232-\350\277\220\347\256\227\347\254\246\344\275\234\344\270\232\347\255\224\346\241\210.md" new file mode 100644 index 0000000..ce0e102 --- /dev/null +++ "b/16 \351\231\210\346\265\251\345\235\244/01.\346\257\217\346\227\245\344\275\234\344\270\232-\350\277\220\347\256\227\347\254\246\344\275\234\344\270\232\347\255\224\346\241\210.md" @@ -0,0 +1,158 @@ +​ + +**1、判断一个字符数据是否是数字字符 ** + +**分析:** + +​ 1、需要判断一个字符是否是数字字符,首先需要提供一个字符数据 + +​ 2、字符是否为数字字符: 数字字符的范围 0 - 9 之间都属于数字字符,因此提供的字符只要大于或等于字符0,并且还要下于或等于字符9即可。 + +​ 3、判断完成之后,打印判断的结果。 + +``` +import java.util.Scanner; + +public class Main { + public static void main(String[] args) { + Scanner big = new Scanner(System.in); + System.out.println("来一个数字老铁"); + char i = big.next().charAt(0); + if (i>'0' && i<'9'){ + System.out.println("yes"); + } + else { + System.out.println("no"); + } + } +} +``` + +**2、判断一个字符数据是否是字母字符** + +**分析:** + +​ 1、需要判断一个字符是否是字母字符,首先需要提供一个字符数据 + +​ 2、字符是否为字母字符: 数字字符的范围 a - z 或者 A - Z 之间都属于字母字符,因此提供的字符只要大于或等于a,并且还要下于或等于z 或者 大于或等于A,并且还要下于或等于Z + +​ 3、判断完成之后,打印判断的结果。 + +``` +public class b { + public static void main(String[] args) { + Scanner big = new Scanner(System.in); + System.out.println("来个东西"); + char b = big.next().charAt(0); + if (b>='a'&& b<='z'){ + System.out.println("yes"); + } + else { + System.out.println("no"); + } + } +} +``` + +**3、判断指定的年份是否为闰年,请使用键盘录入** + +**分析:** + +​ 1、闰年的判断公式为:能被4整除,但是不能被100整除 或者 能被400整除 + +​ 2、首先需要提供一个需要判断的年份,判断完成之后,打印判断的结果。 + +``` + public static void main(String[] args) { + Scanner big = new Scanner(System.in); + int a = big.nextInt(); + System.out.println("来个年份铁铁"); + if (a%4==0&&a%100!=0){ + System.out.println("yes"); + } + else if(a%400==0){ + System.out.println("yes"); + } + else { + System.out.println("no"); + } + + } +} +} +``` + +**4、判断一个数字是否为水仙花数,请使用键盘录入** + +水仙花是指3位数字,表示的是每位上的数字的3次幂相加之后的和值和原数相等,则为水仙花数, + +**分析:** + +​ 如:153 ---> 1×1×*1 + 5*×5×*5 + 3×*3×3 = 153; 就是水仙花数 + +​ 1、首先需要提供一个需要判断的3位数字,因此需要一个数值 + +​ 2、判断的过程 + +​ a) 将3位数字的每一位上的数字拆分下来 + +​ b) 计算每位数字的3次幂之和 + +​ C) 用和值 和 原来的数字进行比较 + +​ D) 打印判断的比较结果即可 + +``` +public static void main(String[] args) { + Scanner big = new Scanner(System.in); + System.out.println("来个三位数"); + int l= big.nextInt(); + int a= l%10; + int b=l/10%10; + int c=l/10/10%10; + int p= (a*a*a)+(b*b*b)+(c*c*c); + if (p==l){ + System.out.println("yes"); + } + else { + System.out.println("no"); + } + } +} +``` + +**5、判断一个5位数字是否为回文数,使用键盘录入** + +五位数的回文数是指最高位和最低位相等,次高位和次低位相等。如:12321  23732  56665 + +**分析:** + +​ 1、首先需要提供一个需要判断的5位数字,因此需要一个数值 + +​ 2、判断的过程 + +​ a) 将5位数字的万、千、十、个位数拆分出来 + +​ b) 判断比较万位和个位 、 千位和十位是否相等 + +​ 3、判断完成之后,打印判断的结果。 + +``` + public static void main(String[] args) { + Scanner big = new Scanner(System.in); + System.out.println("来五位数"); + int a = big.nextInt(); + int b = a % 10; //个 + int c = a / 10 % 10;//十 + int d = a / 10 / 10 % 10;//百 + int e = a / 10 / 10 / 10 % 10;//千 + int f = a / 10 / 10 / 10 / 10 % 10;//万 + if (f == b && e == c) { + System.out.println("yes"); + } else { + System.out.println("no"); + } + } +} +``` + diff --git "a/16 \351\231\210\346\265\251\345\235\244/02.\346\257\217\346\227\245\344\275\234\344\270\232-\347\273\203\344\271\2401.md" "b/16 \351\231\210\346\265\251\345\235\244/02.\346\257\217\346\227\245\344\275\234\344\270\232-\347\273\203\344\271\2401.md" new file mode 100644 index 0000000..0ffbd9b --- /dev/null +++ "b/16 \351\231\210\346\265\251\345\235\244/02.\346\257\217\346\227\245\344\275\234\344\270\232-\347\273\203\344\271\2401.md" @@ -0,0 +1,115 @@ +# 知识点 + +运算符 + +## 题目1(训练) + +身高是具有遗传性的,子女的身高和父母的身高有一定的关系。假定,父母和子女的身高遗传关系如下: + +​ 儿子身高(厘米)=(父亲身高+母亲身高) ×1.08÷2 + +​ 女儿身高(厘米)=(父亲身高×0.923+母亲身高) ÷2 + +现有父亲身高177CM,母亲身高165CM。求子女身高分别预计为多少? + +### 训练提示 + +1. 已知的父母身高如何用代码体现? + +2. 题目中的公式如何转化为代码? + +### 解题方案 + +1. 使用变量的定义和算术运算符完成本题 + +### 操作步骤 + +1. 定义小数变量代表父亲身高 + +2. 定义小数变量代表母亲身高 + +3. 通过儿子身高计算方式计算儿子身高 + +4. 通过女儿身高计算方式计算女人身高 + +``` +public class b1 { + public static void main(String[] args) { + int a= 177; + int b=165; + System.out.println("儿子身高"+(a+b)*1.08/2); + System.out.println("女子身高"+(a*0.923+b)/2); + } +} +``` + +## 题目2(训练) + +红茶妹妹有21元钱,她攒了几天钱之后自己的钱比原来的两倍还多三块。绿茶妹妹有24元钱,她攒了几天钱之后自己的钱正好是原来的两倍。那么红茶和绿茶现在的钱一样多,请问对么? + +### 训练提示 + +1. 用什么知识点来计算她们现在的钱有多少? +2. 如何对比两个人的钱数? + +### 解题方案 + +1. 使用赋值运算符和算术运算符计算各自的钱,使用比较运算符对比大小 + +### 操作步骤 + +1. 定义红茶妹妹原来的钱为整数变量 +2. 定义绿茶妹妹原来的钱为整数变量 +3. 使用赋值运算符和算术运算符计算其现有的钱 +4. 使用比较运算符对数值做出比较 + +```java + public static void main(String[] args) { + int a = 21; + int b = 24; + if (a * 2 + 3 == b * 2) { + System.out.println("yes"); + } + else{ + System.out.println("no"); + } + } + } + +``` + +## 题目3(综合) + +某小伙想定一份外卖,商家的优惠方式如下:鱼香肉丝单点24元,油炸花生米单点8元,米饭单点3元。订单满30元8折优惠。鱼香肉丝优惠价16元,但是优惠价和折扣不能同时使用。那么这个小伙要点这三样东西,最少要花多少钱? + +### 训练提示 + +1. 有两种购买方式,一种是不使用优惠价,另一种是使用优惠价。分别计算花费后,对两种方式的花费作对比。 + +### 解题方案 + +1. 使用算术运算符、赋值运算符和三元运算符联合完成本题 + +### 操作步骤 + +1. 使用算术运算符求出不使用优惠时的总价 +2. 使用三元运算符判断总价是否满足打折条件,并求出折后总价 +3. 使用算术运算符求出使用优惠价时的总价 +4. 使用三元运算符判断最终更合算的购买方式和花费 + +### 参考答案 + +```java +public static void main(String[] args) { + int a=24; + int b=8; + int c=3; + int d=16; + if((a+b+c)*0.8 Date: Thu, 6 Apr 2023 20:35:45 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=AC=A1=E5=92=8C?= =?UTF-8?q?=E7=AC=AC=E5=9B=9B=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../03.md" | 172 ++++++++++++++++++ ...\347\273\204\344\275\234\344\270\232 A.md" | 117 ++++++++++++ 2 files changed, 289 insertions(+) create mode 100644 "16 \351\231\210\346\265\251\345\235\244/03.md" create mode 100644 "16 \351\231\210\346\265\251\345\235\244/04 \346\225\260\347\273\204\344\275\234\344\270\232 A.md" diff --git "a/16 \351\231\210\346\265\251\345\235\244/03.md" "b/16 \351\231\210\346\265\251\345\235\244/03.md" new file mode 100644 index 0000000..78ee798 --- /dev/null +++ "b/16 \351\231\210\346\265\251\345\235\244/03.md" @@ -0,0 +1,172 @@ +switch判断语句 + +## 题目1 + +模拟计算器功能,对键盘录入的两个int类型的数据进行加、减、乘、除的运算,并打印运算结果。 + +要求: + +​ 键盘录入三个整数,其中前两个整数代表参加运算的数据,第三个整数为要进行的运算(1:表示加法运算,2:表示减法运算,3:表示乘法运算,4:表示除法运算),演示效果如下: + +​ 请输入第一个整数: 30 + +​ 请输入第二个整数: 40 + +​ 请输入您要进行的运算(1:表示加法,2:表示减法,3:表示乘法,4:表示除法): 1 + +​ 控制台输出:30+40=70 + +### 训练提示 + +1. 用户录入了数据之后,用什么知识点去判断加减乘除四种不同的操作? + +### 解题方案 + +1. 使用switch判断语句完成。 + +### 操作步骤 + +1. 使用键盘录入三个变量。 +2. 使用switch判断语句对第三个变量进行判断,匹配要执行的操作。 +3. 在每一个case中分别对第一个变量和第二个变量进行不同的操作。 + +``` +public class b2 { + public static void main(String[] args) { + Scanner big=new Scanner(System.in); + System.out.println("输入第一个整数"); + int a= big.nextInt(); + System.out.println("输入第二个整数"); + int b= big.nextInt(); + System.out.println("输入你要进行的运算(1:表示加法,2:表示减法,3:表示乘法,4:表示除法)"); + int c= big.nextInt(); + + switch (c){ + case 1: + System.out.println(a+b); + break; + case 2: + System.out.println(a-b); + break; + case 3: + System.out.println(a*b); + break; + case 4: + System.out.println(a/b); + break; + } + } +} +``` + +if判断语句 + +## 题目2(训练) + +李雷想买一个价值7988元的新手机,她的旧手机在二手市场能卖1500元,而手机专卖店推出以旧换新的优惠,把她的旧手机交给店家,新手机就能够打8折优惠。为了更省钱,李雷要不要以旧换新?请在控制台输出。 + +### 训练提示 + +1. 用什么知识点能够对不同购买方式的价格做判断? + +### 解题方案 + +1. 使用if...else语句判断 + +### 操作步骤 + +1. 计算不使用以旧换新时的花费。 +2. 计算使用以旧换新时的花费。 +3. 使用if..else语句判断哪种方式更省钱,并输出结果 + +``` + public static void main(String[] args) { + int a=7988; + int b=1500; + double c=7988*0.8; + if (a-b