一、牛客网、leetcode学习(每天3道)
二、课后作业
三、3个app
(1)
(2)
(3)在线考试系统

第一章

略~注意代码规范

第二章

1、已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序。(知识点:变量和运算符综合应用) [必做题]

解:

  1. package Task_neuedu;
  2. public class Task1 {
  3. public static void main(String[] args) {
  4. /*1、已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序。(知识点:变量和运算符综合应用) [必做题]
  5. */
  6. int a = 1;
  7. int b = 2;
  8. System.out.println("转换前:a:" + a + " " + "b:" + b);
  9. //使用第三个“杯子”
  10. int temp = a;
  11. a = b;
  12. b = temp;
  13. System.out.println("互换后:a:" + a + " " + "b:" + b);
  14. }
  15. }


image.png

2、给定一个0~1000的整数,求各位数的和,例如345的结果是3+4+5=12注:分解数字既可以先除后模也可以先模后除(知识点:变量和运算符综合应用) [必做题]

解:

  1. package Task_neuedu;
  2. import javax.sound.midi.SysexMessage;
  3. import java.util.Scanner;
  4. public class Task2 {
  5. public static void main(String[] args) {
  6. /*
  7. * 给定一个0~1000的整数,求各位数的和,例如345的结果是3+4+5=12
  8. * 注:分解数字既可以先除后模也可以先模后除(知识点:变量和运算符综合应用) [必做题]
  9. * */
  10. //for循环,若用户输入不规范,重新提醒,并再次验证!
  11. for (; ; ) {
  12. //提醒输入
  13. System.out.println("您好!请您输入一个0~1000的整数:");
  14. Scanner s = new Scanner(System.in);
  15. //使用一个变量存储用户输入的值
  16. int num = s.nextInt();
  17. //对数据进行处理,把每个位的数提取出来,然后使用变量进行存储
  18. if (num <= 0 || num >= 1000) {
  19. System.out.println("请按要求输入!");
  20. } else {
  21. int sum = 0; //和
  22. int g = num % 10; //取个位上的数
  23. int h = num % 100 / 10; //取十位上的数
  24. int b = num / 100; //取百位上的数
  25. sum = g + h + b; //运算并输出结果
  26. System.out.println(sum);
  27. break;
  28. }
  29. }
  30. }
  31. }

3、华氏温度和摄氏温度互相转换,从华氏度变成摄氏度你只要减去32,乘以5再除以9就行了,将摄氏度转成华氏度,直接乘以9,除以5,再加上32即行。[选做题]

  1. package Task_neuedu;
  2. import java.util.Scanner;
  3. public class Task3 {
  4. public static void main(String[] args) {
  5. /*
  6. * 3、华氏温度和摄氏温度互相转换,从华氏度变成摄氏度你只要减去32,乘以5再除以9就行了,
  7. * 将摄氏度转成华氏度,直接乘以9,除以5,再加上32即行。[选做题]
  8. * */
  9. Scanner sc=new Scanner(System.in);
  10. System.out.println("------------------------------");
  11. System.out.println(" 请输入数字选择功能:");
  12. System.out.println(" 华氏温度转摄氏温度----1");
  13. System.out.println(" 摄氏温度转华氏温度----2");
  14. System.out.println("------------------------------");
  15. int input =sc.nextInt();
  16. switch (input){
  17. case 1:
  18. System.out.println("请输入华氏温度");
  19. double input1=sc.nextDouble();
  20. double swith1=(input1-32)*5/9; //转换算法
  21. System.out.println("对应的摄氏温度为:"+swith1+"°C");
  22. break;
  23. case 2:
  24. System.out.println("请输入摄氏温度");
  25. double input2=sc.nextDouble();
  26. double switch2=input2*9/5 +32; //转换算法
  27. System.out.println("对应的华氏温度为"+switch2+"℉");
  28. break;
  29. default:
  30. System.out.println("请正确选择对应功能!");
  31. }
  32. }
  33. }

4、给定一个任意的大写字母A~Z,转换为小写字母。 (知识点:变量和运算符) [选做题]

  1. package Task_neuedu;
  2. import java.util.Scanner;
  3. public class Task4 {
  4. public static void main(String[] args) {
  5. /* 4、给定一个任意的大写字母A~Z,转换为小写字母。 (知识点:变量和运算符) [选做题]*/
  6. System.out.println("请您输入一个字母");
  7. Scanner sc = new Scanner(System.in);
  8. String str = sc.next();
  9. char str1 = str.charAt(0);
  10. if (str1 >= 65 && str1 <= 90) {
  11. str1 += 32; //转大写
  12. System.out.println(str1);
  13. } else { //转小写
  14. str1 -= 32;
  15. System.out.println(str1);
  16. }
  17. }
  18. }

第三章

1、企业发放的奖金根据利润提成。利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于或等于20万元时,高于10万元的部分,可提成7.5%;高于20万,低于或等于40万时,高于20万元的部分,可提成5%;高于40万,低于或等于60万时,高于40万元的部分,可提成3%;高于60万,低于或等于100万时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,输入一个整数变量为当月利润,求应发放奖金总数?(知识点:条件语句) [必做题]

  1. package Task_neuedu;
  2. import java.util.Scanner;
  3. /*
  4. * 企业发放的奖金根据利润提成。利润低于或等于10万元时,奖金可提10%;
  5. * 利润高于10万元,低于或等于20万元时,高于10万元的部分,可提成7.5%;
  6. * 高于20万,低于或等于40万时,高于20万元的部分,可提成5%;
  7. * 高于40万,低于或等于60万时,高于40万元的部分,可提成3%;
  8. * 高于60万,低于或等于100万时,高于60万元的部分,可提成1.5%,高于100万元时,
  9. * 超过100万元的部分按1%提成,输入一个整数变量为当月利润,求应发放奖金总数?(知识点:条件语句) [必做题]
  10. * */
  11. public class ch301 {
  12. public static void main(String[] args) {
  13. System.out.println("请输入利润:");
  14. Scanner scanner=new Scanner(System.in);
  15. double money=scanner.nextDouble(); //存储用户输入的值
  16. double award=0.0;
  17. //使用if else if else 判断输入奖金的数对应计算的方式
  18. if (0<=money&&money<=10){
  19. award=money*0.01;
  20. }
  21. else if (money>10&&money<=20){
  22. award=10*0.01+(money-10)*0.075;
  23. }
  24. else if(money>20&&money<=40){
  25. award=10*0.01+10*0.075+(money-20)*0.05;
  26. }
  27. else {
  28. award=10*0.01+10*0.075+20*0.05+(money-40)*0.03;
  29. } //这里先高于40万的情况处理~
  30. System.out.println(award+"万");
  31. }
  32. }

2,输入一个成绩a,使用switch结构求出a的等级。A:90-100,B:80-89,C:70-79,D:60-69,E:0~59(知识点:条件语句switch)[必做题]

  1. package Task_neuedu;
  2. import java.util.Scanner;
  3. public class ch302 {
  4. public static void main(String[] args) {
  5. /*
  6. 输入一个成绩a,使用switch结构求出a的等级。
  7. A:90-100,
  8. B:80-89,
  9. C:70-79,
  10. D:60-69,
  11. E:0~59(知识点:条件语句switch)[必做题]
  12. */
  13. Scanner scanner=new Scanner(System.in);
  14. int num=scanner.nextInt(); //存储用户输入的值
  15. switch (num/10){
  16. case 10:
  17. case 9:
  18. System.out.println("A");
  19. break;
  20. case 8:
  21. System.out.println("B");
  22. break;
  23. case 7:
  24. System.out.println("C");
  25. break;
  26. case 6:
  27. System.out.println("D");
  28. break;
  29. case 5:
  30. case 3:
  31. case 4:
  32. case 2:
  33. case 1:2
  34. case 0:
  35. System.out.println("E");
  36. break;
  37. default:
  38. System.out.println("请输入0~100之间的数字");
  39. }
  40. }
  41. }

3,输入一个数字,判断是一个奇数还是偶数(知识点:条件语句) [必做题]

  1. package Task_neuedu;
  2. /*输入一个数字,判断是一个奇数还是偶数(知识点:条件语句) [必做题]*/
  3. import java.util.Scanner;
  4. public class ch303 {
  5. public static void main(String[] args) {
  6. Scanner scanner=new Scanner(System.in);
  7. int num=scanner.nextInt(); //存储用户输入的值
  8. if (num!=0){
  9. if (num%2==0){
  10. System.out.println("不是奇数,是偶数");
  11. }
  12. else{
  13. System.out.println("是偶数,不是奇数");
  14. }
  15. }
  16. else {
  17. System.out.println("0不是偶数也不是奇数");
  18. }
  19. }
  20. }

第四章

1、编写一个简单程序,要求数组长度为5,分别赋值10,20,30,40,50,在控制台输出该数组的值。(知识点:数组定义和创建、一维数组初始化)[必做题]

  1. package Task_neuedu;
  2. /*
  3. * 编写一个简单程序,要求数组长度为5,
  4. * 分别赋值10,20,30,40,50,在控制台输出该数组的值。
  5. * (知识点:数组定义和创建、一维数组初始化)[必做题]
  6. *
  7. * */
  8. public class ch0401 {
  9. public static void main(String[] args) {
  10. int [] arr=new int[5];
  11. for (int i = 0; i < arr.length ; i++) {
  12. arr[i]=(i+1)*10;
  13. System.out.println(arr[i]);
  14. }
  15. }
  16. }

2,将一个字符数组的值(neusofteducation)拷贝到另一个字符数组中。(知识点:数组复制) [必做题]

  1. package Task_neuedu;
  2. /*将一个字符数组的值(neusofteducation)拷贝到另一个字符数组中。(知识点:数组复制) [必做题]*/
  3. public class ch0402 {
  4. public static void main(String[] args) {
  5. int [] arr1=new int[5];
  6. int [] arr2=new int[5];
  7. for (int i = 0; i < arr1.length ; i++) {
  8. arr1[i]=(i+1)*11;
  9. System.out.println("复制前数组元素:"+arr1[i]);
  10. arr2[i]=arr1[i];
  11. System.out.print("复制后的数组"+" "+arr2[i]);
  12. }
  13. }
  14. }

3、给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,然后输出排序后的数组的值。(知识点:Arrays.sort排序、冒泡排序) [必做题]

  1. package Task_neuedu;
  2. /*
  3. 3、给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,
  4. 然后输出排序后的数组的值。(知识点:Arrays.sort排序、冒泡排序) [必做题]
  5. */
  6. public class ch0402 {
  7. public static void main(String[] args) {
  8. int [] arr2={1,6,2,3,9,4,5,7,8};
  9. for (int i = 1; i < arr2.length ; i++) {
  10. for (int j = 0; j < arr2.length-i ; j++) {
  11. if (arr2[j] > arr2[j+1]) {
  12. int max=arr2[j];
  13. arr2[j]=arr2[j+1];
  14. arr2[j+1]=max;
  15. }
  16. }
  17. }
  18. for (int h = 0; h < arr2.length ; h++) {
  19. System.out.println(arr2[h]);
  20. }
  21. }
  22. }

4、 输出一个double型二维数组(长度分别为5、4,值自己设定)的值。(知识点:数组定义和创建、多维数组初始化、数组遍历) [必做题]

  1. package Task_neuedu;
  2. /*
  3. 4、 输出一个double型二维数组(长度分别为5、4,值自己设定)的值。
  4. (知识点:数组定义和创建、多维数组初始化、数组遍历) [必做题]
  5. */
  6. public class ch0402 {
  7. public static void main(String[] args) {
  8. double [] [] arr1=new double [5][4];
  9. arr1[0][0]=9.02;
  10. } }

5、 在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。(知识点:数组遍历、数组元素访问) [必做题]

  1. package Task_neuedu;
  2. /*
  3. 5、 在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。
  4. (知识点:数组遍历、数组元素访问) [必做题]
  5. */
  6. public class ch0402 {
  7. public static void main(String[] args) {
  8. int [] arr={18,25,7,36,13,2,89,63};
  9. int max=arr[0];
  10. int index=0;
  11. for (int i = 0; i <arr.length ; i++) {
  12. if (max<arr[i]){
  13. max=arr[i];
  14. }
  15. if(arr[i]==max){
  16. index=i;
  17. }
  18. }
  19. System.out.println("最大值为:"+max+"下标为"+index);
  20. }
  21. }

第五章

1、编写一个方法,求整数n的阶乘,例如5的阶乘是12345

  1. /*1、编写一个方法,求整数n的阶乘,例如5的阶乘是1*2*3*4*5。*/
  2. import java.util.Scanner;
  3. public class Task {
  4. public static int func1(int n) {
  5. int i = 0;
  6. int m = 1;
  7. for (i = 1; i <= n; i++) {
  8. m = m * i;
  9. }
  10. System.out.println("n的阶乘是:"+m);
  11. return m;
  12. }
  13. }

2、编写一个方法,判断该年份是平年还是闰年。

  1. public class Task {
  2. public static void main(String[] args) {
  3. Exercise_05_02.method1(2012);
  4. }
  5. public static void method1(int year) {
  6. if(year%4==0&&year%100!=0||year%400==0){
  7. System.out.println("闰年");
  8. }else{
  9. System.out.println("不是闰年");
  10. }
  11. }
  12. }

第六章

1,

  1. package Task_neuedu;
  2. /*
  3. *
  4. * 1、定义一个点类Point,
  5. * 包含2个成员变量x、y分别表示x和y坐标,
  6. * 2个构造器Point()和Point(int x0,y0),
  7. * 以及一个movePoint(int dx,int dy)方法实现点的位置移动,
  8. * 创建两个Point对象p1、p2,分别调用movePoint方法后,打印p1和p2的坐标。[必做题]
  9. */
  10. public class Point {
  11. private int x;
  12. private int y;
  13. public Point() {
  14. }
  15. public int getX() {
  16. return x;
  17. }
  18. public void setX(int x) {
  19. this.x = x;
  20. }
  21. public int getY() {
  22. return y;
  23. }
  24. public void setY(int y) {
  25. this.y = y;
  26. }
  27. public Point(int x, int y) {
  28. this.x = x;
  29. this.y = y;
  30. }
  31. public void movePoint(int dx,int dy){
  32. System.out.println(dx+" "+dy);
  33. }
  34. //在本类直接测试
  35. public static void main(String[] args) {
  36. Point p1=new Point();
  37. p1.movePoint(1,2);
  38. Point p2=new Point();
  39. p2.movePoint(22,2);
  40. }
  41. }

第七章

第十章

1,存储客户信息,显示客户账户余额(HashMap)

  1. package task14;
  2. /*
  3. 1、编写一个程序,创建一个 HashMap对象,
  4. 用于存储银行储户的信息(其中储户的主要信息有储户的ID,姓名和余额)。另外,计算并显示其中某个储户的当前余额。 [选做题]
  5. */
  6. import java.util.HashMap;
  7. import java.util.Set;
  8. public class ClientTest {
  9. public static void main(String[] args) {
  10. /* Client c1=new Client(1,"林一",899.0);
  11. Client c2=new Client(2,"林二",1999.20);
  12. HashMap<Client, Double> h1=new HashMap<Client, Double>();
  13. h1.put(c1, c1.getMoney());
  14. h1.put(c2,c1.getMoney());
  15. //遍历Map数组
  16. Set<Client> s=h1.keySet();
  17. for (Client s2:s
  18. ) {
  19. System.out.println("客户信息:"+s2.getName()+"余额"+s2.getMoney());
  20. }
  21. */
  22. //设置客户信息
  23. Client c1=new Client(1,"林一",899.0);
  24. Client c2=new Client(2,"林二",1999.20);
  25. //定义一个hashMap存储客户信息
  26. HashMap<Integer,Client> h1=new HashMap<Integer, Client>();
  27. h1.put(1,c1);
  28. h1.put(2,c2);
  29. //遍历Map数组
  30. Set<Integer> keys=h1.keySet();
  31. for (Integer s2:keys) {
  32. System.out.println("客户ID: "+s2+" "+"当前账户余额: "+h1.get(s2).getMoney()+"元");
  33. }
  34. }
  35. }