From 860471e8607bcb649dcece8a5f665fe24307dbcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=98=8E=E5=81=A5?= <2161737470@qq.com> Date: Wed, 29 Mar 2023 22:14:58 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=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 --- ...27\347\254\246\344\275\234\344\270\232.md" | 213 ++++++++++++++++++ 1 file changed, 213 insertions(+) create mode 100644 "04 \346\235\216\346\230\216\345\201\245/20230329 \350\277\220\347\256\227\347\254\246\344\275\234\344\270\232.md" diff --git "a/04 \346\235\216\346\230\216\345\201\245/20230329 \350\277\220\347\256\227\347\254\246\344\275\234\344\270\232.md" "b/04 \346\235\216\346\230\216\345\201\245/20230329 \350\277\220\347\256\227\347\254\246\344\275\234\344\270\232.md" new file mode 100644 index 0000000..3c2cb3d --- /dev/null +++ "b/04 \346\235\216\346\230\216\345\201\245/20230329 \350\277\220\347\256\227\347\254\246\344\275\234\344\270\232.md" @@ -0,0 +1,213 @@ +**1、判断一个字符数据是否是数字字符 ** + +**分析:** + +​ 1、需要判断一个字符是否是数字字符,首先需要提供一个字符数据 + +​ 2、字符是否为数字字符: 数字字符的范围 0 - 9 之间都属于数字字符,因此提供的字符只要大于或等于字符0,并且还要下于或等于字符9即可。 + +​ 3、判断完成之后,打印判断的结果。 + +### 答案一 + +~~~ java +import java.util.Scanner; +public class D5 { +// 1、需要判断一个字符是否是数字字符,首先需要提供一个字符数据 +// 2、字符是否为数字字符: 数字字符的范围 0 - 9 之间都属于数字字符,因此提供的字符只要大于或等于字符0,并且还要小于或等于字符9即可。 +// 3、判断完成之后,打印判断的结果。 + public static void main(String[] args) { + + while (true) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入一个字符:"); + char c = sc.next().charAt(0); + + if (c>='0' && c<='9') { + System.out.println("是数字字符"); + }else{ + System.out.println("不是数字字符"); + } + } + } +} +~~~ + + + +**2、判断一个字符数据是否是字母字符** + +**分析:** + +​ 1、需要判断一个字符是否是字母字符,首先需要提供一个字符数据 + +​ 2、字符是否为字母字符: 数字字符的范围 a - z 或者 A - Z 之间都属于字母字符,因此提供的字符只要大于或等于a,并且还要下于或等于z 或者 大于或等于A,并且还要下于或等于Z + +​ 3、判断完成之后,打印判断的结果。 + +### 答案二 + +~~~ java +import java.util.Scanner; + +public class D6 { +// 1、需要判断一个字符是否是字母字符,首先需要提供一个字符数据 +// 2、字符是否为字母字符: 数字字符的范围 a-z 或者 A-Z 之间都属于字母字符, +// 因此提供的字符只要大于或等于a,并且还要下于或等于z 或者 大于或等于A,并且还要下于或等于Z +// 3、判断完成之后,打印判断的结果。 + + public static void main(String[] args) { + while (true) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入一个字符:"); + char c = sc.next().charAt(0); + + if((c>='a' && c<='z') || (c>='A' && c<='Z')){ + System.out.println("是字母字符"); + }else{ + System.out.println("不是字母字符"); + } + } + } +} +~~~ + + + +**3、判断指定的年份是否为闰年,请使用键盘录入** + +**分析:** + +​ 1、闰年的判断公式为:能被4整除,但是不能被100整除 或者 能被400整除 + +​ 2、首先需要提供一个需要判断的年份,判断完成之后,打印判断的结果。 + +### 答案三 + +~~~ java +import java.util.Scanner; + +public class D7 { + // 判断指定的年份是否为闰年,请使用键盘录入 +// 1、闰年的判断公式为:能被4整除,但是不能被100整除 或者 能被400整除 +// 2、首先需要提供一个需要判断的年份,判断完成之后,打印判断的结果。 + + public static void main(String[] args) { + while (true) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入一个年份:"); + int year = sc.nextInt(); + + if(year % 4 == 0 || year % 400 == 0 && year % 100 !=0){ + System.out.println(year+"是闰年"); + }else{ + System.out.println(year+"不是闰年"); + } + } + } +} +~~~ + + + +**4、判断一个数字是否为水仙花数,请使用键盘录入** + +水仙花是指3位数字,表示的是每位上的数字的3次幂相加之后的和值和原数相等,则为水仙花数, + +**分析:** + +​ 如:153 ---> 1×1×*1 + 5*×5×*5 + 3×*3×3 = 153; 就是水仙花数 + +​ 1、首先需要提供一个需要判断的3位数字,因此需要一个数值 + +​ 2、判断的过程 + +​ a) 将3位数字的每一位上的数字拆分下来 + +​ b) 计算每位数字的3次幂之和 + +​ C) 用和值 和 原来的数字进行比较 + +​ D) 打印判断的比较结果即可 + +### 答案四 + +~~~ java +import java.util.Scanner; + +public class D1 { + // 判断一个数字是否为水仙花数,请使用键盘录入 +// 水仙花是指3位数字,表示的是每位上的数字的3次幂相加之后的和值和原数相等,则为水仙花数, + public static void main(String[] args) { + + while (true) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入一个三位整数"); + int number = sc.nextInt(); + + int ge = number % 100 % 10; + int shi = number / 10 % 10; + int bai = number / 100; + + if (ge * ge * ge + shi * shi * shi + bai * bai * bai == number) { + System.out.println(number + "是水仙花数"); + } else { + System.out.println(number + "不是水仙花数"); + } + } + + } +} +~~~ + + + +**5、判断一个5位数字是否为回文数,使用键盘录入** + +五位数的回文数是指最高位和最低位相等,次高位和次低位相等。如:12321  23732  56665 + +**分析:** + +​ 1、首先需要提供一个需要判断的5位数字,因此需要一个数值 + +​ 2、判断的过程 + +​ a) 将5位数字的万、千、十、个位数拆分出来 + +​ b) 判断比较万位和个位 、 千位和十位是否相等 + +​ 3、判断完成之后,打印判断的结果。 + +### 答案五 + +~~~ java +import java.util.Scanner; + +public class D2 { + // 判断一个5位数字是否为回文数,使用键盘录入 +// 五位数的回文数是指最高位和最低位相等,次高位和次低位相等。如:12321,23732,56665 + public static void main(String[] args) { + while (true) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入一个五位整数:"); + int number = sc.nextInt(); + + int ge = number%10; + int shi = number/10%10; + int bai = number/100%10; + int qian = number/1000%10; + int wan = number/10000%10; + + if(ge==wan && shi==qian){ + System.out.println(number+"是回文数"); + }else{ + System.out.println(number+"不是回文数"); + } + + } + } +} +~~~ + + + -- Gitee From 061bc88a8a2a21f85c7dccba2e1f9b76e1cea323 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=98=8E=E5=81=A5?= <2161737470@qq.com> Date: Wed, 5 Apr 2023 23:14:18 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=AC=AC=E4=BA=8C=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 --- ...60\347\273\204\344\275\234\344\270\232.md" | 202 ++++++++++++++++++ 1 file changed, 202 insertions(+) create mode 100644 "04 \346\235\216\346\230\216\345\201\245/20230405 \346\225\260\347\273\204\344\275\234\344\270\232.md" diff --git "a/04 \346\235\216\346\230\216\345\201\245/20230405 \346\225\260\347\273\204\344\275\234\344\270\232.md" "b/04 \346\235\216\346\230\216\345\201\245/20230405 \346\225\260\347\273\204\344\275\234\344\270\232.md" new file mode 100644 index 0000000..d6d696c --- /dev/null +++ "b/04 \346\235\216\346\230\216\345\201\245/20230405 \346\225\260\347\273\204\344\275\234\344\270\232.md" @@ -0,0 +1,202 @@ +## 编码题 + +**1.定义一个含有五个元素的数组,并为每个元素赋值,求数组中所有元素的最小值** + +**操作步骤:** + +​ 1.定义5个元素数组 + +​ 2.可以使用初始化数组的两种方式之一为数组元素赋值 + +​ 3.遍历数组求数组中的最小值 + +~~~ java +import java.util.Scanner; + +public class D1 { + // 定义一个含有五个元素的数组,并为每个元素赋值,求数组中所有元素的最小值 + + public static void main(String[] args) { + + //1.定义5个元素数组 + int[] arr = new int[5]; + Scanner sc = new Scanner(System.in); + + //2.可以使用初始化数组的两种方式之一为数组元素赋值 + for (int i = 0; i < arr.length; i++) { + System.out.println("请输入五个数字添加到数组:"); + int num = sc.nextInt(); + arr[i]=num; + } + + //3.遍历数组求数组中的最小值 + int min = arr[0]; + for (int i = 1; i < arr.length; i++) { + if(min>arr[i]){ + min=arr[i]; + } + } + System.out.println("这个数组中最小值为:"+min); + } +} +~~~ + + + +**2.需求:求出数组中索引与索引对应的元素都是奇数的元素** + +**分析:** + +​ 1、遍历数组 + +​ 2、判断索引是否是奇数(索引 % 2 != 0) + +​ 3、判断索引对应的元素是否是奇数(arr[索引] % 2 != 0) + +​ 4、满足条件输出结果 + +~~~ java +import java.util.Scanner; + +public class D2 { + //需求:求出数组中索引与索引对应的元素都是奇数的元素 + + public static void main(String[] args) { + + //1、定义数组 + int[] arr =new int[5]; + Scanner sc = new Scanner(System.in); + + //2、键盘录入数组的每个元素并添加到数组 + for (int i = 0; i < arr.length; i++) { + System.out.println("请输入数组里面的值:"); + int num = sc.nextInt(); + arr[i]=num; + } + + //3、遍历数组,判断索引是否是奇数(索引 % 2 != 0),判断索引对应的元素是否是奇数(arr[索引] % 2 != 0) + for (int i = 0; i < arr.length; i++) { + if(i % 2 !=0 && arr[i] % 2 !=0){ + System.out.println("索引为:"+i+"\n"+"值为:"+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 { + //PS:输入的数组元素范围包括1和60,不需要代码判断 + public static void main(String[] args) { + //1. 定义一个长度为5的int型数组arr + int[] arr = new int[5]; + Scanner sc = new Scanner(System.in); + + //2.提示用户输入5个1-60之间的数字作为数组元素 + for (int i = 0; i < arr.length; i++) { + System.out.println("请输入5个1-60之间的数字:"); + int number = sc.nextInt(); + arr[i]=number; + } + + //3. 生成2-10(范围包含2和10)之间的随机数num + Random ran = new Random(); + int num = ran.nextInt(9)+2; + + //4. 遍历数组arr,筛选出数组中不是num倍数的元素并输出 + 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 { + // 有一个数组int[] arr = {9,1,3,4,54,56,23,22,20,43,45,78};,要求打印数组中能被6整除的元素。 + public static void main(String[] args) { + int[] arr = {9,1,3,4,54,56,23,22,20,43,45,78}; + + //遍历数组找到能被6整除的元素 + for (int i = 0; i < arr.length; i++) { + if(arr[i] % 6 == 0){ + System.out.println("数组中"+arr[i]+"能被6整除"); + } + } + } +} +~~~ + + + +**5.定义一个长度为20的数组,元素为20-40的随机数,要求判断指定元素在数组中出现的次**数,指定元素为键盘录入范围为20-40之间。 + +~~~ java +import java.util.Arrays; +import java.util.Random; +import java.util.Scanner; + +public class D5 { + public static void main(String[] args) { + //定义一个长度为20的数组,元素为20-40的随机数, + //要求判断指定元素在数组中出现的次**数,指定元素为键盘录入范围为20-40之间。 + int[] arr = new int[20]; + Random ran = new Random(); + Scanner sc = new Scanner(System.in); + + //1.循环将随机生成的数添加到数组 + for (int i = 0; i < arr.length; i++) { + int num = ran.nextInt(21) + 20; + arr[i] = num; + } + + //打印数组 + System.out.println("随机生成的数组为"); + System.out.println(Arrays.toString(arr)); + + //2.键盘录入一个指定元素,并判断输入的值是否在20-40之间 + System.out.println("请输入一个20-40的数:"); + int num1 = sc.nextInt(); + + while (true) { + if(num1<20 || num1>40){ + System.out.println("输入的数值不在20-40之间,请重新输入"); + num1=sc.nextInt(); + }else{ + break; + } + } + + //3.遍历数组判断指定元素在数组中出现的次**数,并打印 + int count = 0; + for (int i = 0; i < arr.length; i++) { + if (arr[i] == num1) { + count++; + } + } + System.out.println(num1+"在数组中出现了:"+count+"次"); + } +} + +~~~ -- Gitee