From 11142310323f4a4d477735c27accdde705bc17f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E9=93=96=E6=B5=A9?= <1136734375@qq.com> Date: Wed, 5 Apr 2023 23:29:53 +0800 Subject: [PATCH] zuoye --- .../20230328 java\345\244\215\344\271\240.md" | 188 ++++++++++++++++++ ...60\347\273\204\344\275\234\344\270\232.md" | 167 ++++++++++++++++ 2 files changed, 355 insertions(+) create mode 100644 "05 \350\260\242\351\223\226\346\265\251/20230328 java\345\244\215\344\271\240.md" create mode 100644 "05 \350\260\242\351\223\226\346\265\251/20230405 \346\225\260\347\273\204\344\275\234\344\270\232.md" diff --git "a/05 \350\260\242\351\223\226\346\265\251/20230328 java\345\244\215\344\271\240.md" "b/05 \350\260\242\351\223\226\346\265\251/20230328 java\345\244\215\344\271\240.md" new file mode 100644 index 0000000..93ff37f --- /dev/null +++ "b/05 \350\260\242\351\223\226\346\265\251/20230328 java\345\244\215\344\271\240.md" @@ -0,0 +1,188 @@ +# 练习 + +## 第一题 + +```java +public class zy { +// 身高是具有遗传性的,子女的身高和父母的身高有一定的关系。假定,父母和子女的身高遗传关系如下: +// +// 儿子身高(厘米)=(父亲身高+母亲身高) ×1.08÷2 +// +// 女儿身高(厘米)=(父亲身高×0.923+母亲身高) ÷2 +// +// 现有父亲身高177CM,母亲身高165CM。求子女身高分别预计为多少? + public static void main(String[] args) { + double f = 177; + double m = 165; + double e = (f+m)*1.08/2; + double v = (f*0.923+m)/2; + System.out.println("预计儿子的身高为:"+e); + System.out.println("预计女儿的身高为:"+v); + } +} +``` + +## 第二题 + +```java +public class zy { +// 红茶妹妹有21元钱,她攒了几天钱之后自己的钱比原来的两倍还多三块。 +// 绿茶妹妹有24元钱,她攒了几天钱之后自己的钱正好是原来的两倍。 +// 那么红茶和绿茶现在的钱一样多,请问对么? + public static void main(String[] args) { + int hc = 21; + int lc = 24; + if(hc*2+3==lc*2){ + System.out.println("他们的钱一样多,对"); + }else{ + System.out.println("他们的钱不一样多,错"); + } + } +} +``` + +## 第三题 + +``` java +public class zy { +// 某小伙想定一份外卖,商家的优惠方式如下: +// 鱼香肉丝单点24元,油炸花生米单点8元,米饭单点3元。 +// 订单满30元8折优惠。鱼香肉丝优惠价16元,但是优惠价和折扣不能同时使用。 +// 那么这个小伙要点这三样东西,最少要花多少钱? + public static void main(String[] args) { + int yxrs = 24; + int hsm = 8; + int mf = 3; + double a = (yxrs+hsm+mf)*0.8; + int b = (16+hsm+mf); + double zj = a < b ? a:b; + System.out.println("最少要花:"+zj+"元"); + } +} +``` + +# 作业 + + + +### 第一题 + +```java +import java.util.Scanner; + +public class zy { +// **1、判断一个字符数据是否是数字字符 ** +// 1、需要判断一个字符是否是数字字符,首先需要提供一个字符数据 +// +// 2、字符是否为数字字符: 数字字符的范围 0 - 9 之间都属于数字字符, +// 因此提供的字符只要大于或等于字符0,并且还要下于或等于字符9即可。 +// +// 3、判断完成之后,打印判断的结果。 + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入一个字符"); + int a = sc.nextInt(); + if(a>=0|a<=9){ + System.out.println(a+"这个字符为数字字符"); + }else { + System.out.println(a+"这个字符不是数字字符"); + } + } +} +``` + +### 第二题 + +``` java +// 判断一个字符数据是否是字母字符 +``` + + + +### 第三题 + +``` java +import java.util.Scanner; + +public class zy { +// 判断指定的年份是否为闰年,请使用键盘录入 +// 1、闰年的判断公式为:能被4整除,但是不能被100整除 或者 能被400整除 +// 2、首先需要提供一个需要判断的年份,判断完成之后,打印判断的结果。 + + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入一个年份"); + int a = sc.nextInt(); + if(a%400==0){ + System.out.println(a+"为闰年"); + }else { + if(a%100==0){ + System.out.println(a +"不为闰年"); + }else { + if(a%4==0){ + System.out.println(a+"为闰年"); + } else { + System.out.println(a+"不为闰年"); + } + } + } + + + + } +} +``` + +### 第四题 + +```java +import java.util.Scanner; + +public class zy { +// 判断一个数字是否为水仙花数,请使用键盘录入 +// 水仙花是指3位数字,表示的是每位上的数字的3次幂相加之后的和值和原数相等, +// 则为水仙花数, + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入一个三位数"); + int a = sc.nextInt(); + int bai = a/100; + int shi = a/10%10; + int ge = a%10; + if (bai*bai*bai+shi*shi*shi+ge*ge*ge==a){ + System.out.println(a+"这个数为水仙花数"); + }else{ + System.out.println(a+"这个数不为水仙花数"); + } + } +} +``` + +### 第五题 + +``` java +import java.util.Scanner; + +public class zy { +// 判断一个5位数字是否为回文数,使用键盘录入 +// 五位数的回文数是指最高位和最低位相等,次高位和次低位相等。 +// 如:12321 23732 56665 + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入一个五位数"); + int a = sc.nextInt(); + int ge = a%10000%1000%100%10; + int shi = a%10000%1000%100/10; + int qian = a%10000/1000; + int wan = a/10000; + if (ge==wan & shi==qian){ + System.out.println(a+"这个数为回文数"); + }else{ + System.out.println(a+"这个数不为回文数"); + } + } +} +``` + + + diff --git "a/05 \350\260\242\351\223\226\346\265\251/20230405 \346\225\260\347\273\204\344\275\234\344\270\232.md" "b/05 \350\260\242\351\223\226\346\265\251/20230405 \346\225\260\347\273\204\344\275\234\344\270\232.md" new file mode 100644 index 0000000..02f463d --- /dev/null +++ "b/05 \350\260\242\351\223\226\346\265\251/20230405 \346\225\260\347\273\204\344\275\234\344\270\232.md" @@ -0,0 +1,167 @@ +## 编码题 + +**1.定义一个含有五个元素的数组,并为每个元素赋值,求数组中所有元素的最小值** + +**操作步骤:** + +​ 1.定义5个元素数组 + +​ 2.可以使用初始化数组的两种方式之一为数组元素赋值 + +​ 3.遍历数组求数组中的最小值 + +~~~ java +import java.util.Scanner; + +public class D1 { + public static void main(String[] args) { + int[] num =new int[5]; + for (int i = 0; i < num.length; i++) { + Scanner sc=new Scanner(System.in); + System.out.println("请输入"+(i+1)); + num[i]=sc.nextInt(); + } + int min = num[0]; + for (int i = 0; i num[i]){ + min=num[i]; + } + } + System.out.println("最小的是"+min); + } + } + +~~~ + + + +**2.需求:求出数组中索引与索引对应的元素都是奇数的元素** + +**分析:** + +​ 1、遍历数组 + +​ 2、判断索引是否是奇数(索引 % 2 != 0) + +​ 3、判断索引对应的元素是否是奇数(arr[索引] % 2 != 0) + +​ 4、满足条件输出结果 + +~~~ java +public class D2 { + public static void main(String[] args) { +// 1、遍历数组 +// +// 2、判断索引是否是奇数(索引 % 2 != 0) +// +// 3、判断索引对应的元素是否是奇数(arr[索引] % 2 != 0) +// +// 4、满足条件输出结果 + int[] arr ={12,11,17,4,6}; + for (int i = 0; i < arr.length; i++) { + if (i%2!=0 && arr[i]%2!=0){ + System.out.println("基数是"+arr[i]); + + } + } + + } +} + +~~~ + + + + + +**3.按要求在main方法中完成以下功能:** + +​ a. 定义一个长度为5的int型数组arr,提示用户输入5个1-60之间的数字作为数组元素 + +​ b. 生成2-10(范围包含2和10)之间的随机数num + +​ c. 遍历数组arr,筛选出数组中不是num倍数的元素并输出 + +​ **PS:输入的数组元素范围包括1和60,不需要代码判断** + +~~~ java +import java.util.Random; +import java.util.Scanner; + +public class D3 { + public static void main(String[] args) { + int[] arr = new int[5]; + for (int i = 0; i < arr.length; i++) { + Scanner sc= new Scanner(System.in); + System.out.println("请输入1-60的数"+(i+1)+":"); + arr[i]=sc.nextInt(); + } + Random ran=new Random(); + int num =ran.nextInt(8)+2; + for (int i = 0; i < arr.length; i++) { + if (arr[i]%num!=0){ + System.out.println(arr[i]+"不是"+num+"的倍数"); + } + } + + } +} +~~~ + + + +**4.有一个数组int[] arr = {9,1,3,4,54,56,23,22,20,43,45,78};,要求打印数组中能被6整除的元素。** + +~~~ java +public class D4 { + public static void main(String[] args) { +// **4.有一个数组int[] arr = {9,1,3,4,54,56,23,22,20,43,45,78};,要求打印数组中能被6整除的元素。** + int[] arr ={9,1,3,4,54,56,23,22,20,43,45,78}; + System.out.print("能被6整除的元素有:"); + for (int i = 0; i < arr.length; i++) { + if (arr[i]%6==0){ + System.out.print(+arr[i]+" "); + + } + + } + } +} + +~~~ + + + +**5.定义一个长度为20的数组,元素为20-40的随机数,要求判断指定元素在数组中出现的次**数,指定元素为键盘录入范围为20-40之间。 + +~~~ java +import java.util.Random; +import java.util.Scanner; + +public class D5 { + public static void main(String[] args) { +// **5.定义一个长度为20的数组,元素为20-40的随机数,要求判断指定元素在数组中出现的次**数,指定元素为键盘录入范围为20-40之间。 + int[] arr = new int[20]; + Scanner sc= new Scanner(System.in); + System.out.println("输入20-40的数:"); + int a=sc.nextInt(); + Random ran =new Random(); + for (int i = 0; i < arr.length; i++) { + arr[i] = ran.nextInt(21)+20; + } + int count=0; + for (int i = 0; i