ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022-07-16 第十小组 石晓荟

2022-07-17 11:01:36  阅读:126  来源: 互联网

标签:index 石晓荟 07 arr 16 int System println nos


Java阶段性总结
*** 学习心得:**
今天是Java基础的阶段性小结,通过这三天的学习对Java有了大概了解,其中让人模糊的要数算法,也不能说是听不懂,老师讲的每一个案例都可以接受,但是在自己写的时候总是磕磕绊绊,总司有一些细节性的问题不能理解到。尤其是在将所有知识点综合起来的案例
*** 知识总结**
今天主要是以下几个例子的练习来对JAVA进行巩固熟练
1. 员工管理系统
其中用到了
switc()case{}流程控制结构
while(true){}死循环结构
数组的扩容
int[] newNos = new int[nos.length + 1];
String[] newNames = new String[names.length + 1];
newNos[index] = nos[index];
newNames[index] = names[index];
nos = newNos;
names = newNames;

点击查看代码
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package com.jsoft.morning;

import java.util.Scanner;

public class Ch01 {
    public Ch01() {
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] nos = new int[2];
        String[] names = new String[2];
        int no = 1001;
        int i = 0;

        while(true) {
            while(true) {
                while(true) {
                    System.out.println("欢迎使用员工管理系统");
                    System.out.println("请选择功能:1.添加员工  2.查询员工  3.修改员工  4.删除员工");
                    String flag = sc.next();
                    byte var8 = -1;
                    switch(flag.hashCode()) {
                    case 49:
                        if (flag.equals("1")) {
                            var8 = 0;
                        }
                        break;
                    case 50:
                        if (flag.equals("2")) {
                            var8 = 1;
                        }
                        break;
                    case 51:
                        if (flag.equals("3")) {
                            var8 = 2;
                        }
                        break;
                    case 52:
                        if (flag.equals("4")) {
                            var8 = 3;
                        }
                    }

                    int index;
                    int s;
                    int index;
                    int j;
                    switch(var8) {
                    case 0:
                        System.out.println("请输入员工姓名:");
                        String name = sc.next();
                        nos[i] = no;
                        names[i] = name;
                        System.out.println("添加成功:员工的工号为:" + nos[i] + ",姓名:" + names[i]);
                        ++i;
                        ++no;
                        if (i < nos.length) {
                            break;
                        }

                        int[] newNos = new int[nos.length + 1];
                        String[] newNames = new String[names.length + 1];

                        for(index = 0; index < nos.length; ++index) {
                            newNos[index] = nos[index];
                            newNames[index] = names[index];
                        }

                        nos = newNos;
                        names = newNames;
                        break;
                    case 1:
                        System.out.println("请选择功能:1、根据工号查询  2、查询所有");
                        String n = sc.next();
                        byte var20 = -1;
                        switch(n.hashCode()) {
                        case 49:
                            if (n.equals("1")) {
                                var20 = 0;
                            }
                            break;
                        case 50:
                            if (n.equals("2")) {
                                var20 = 1;
                            }
                        }

                        switch(var20) {
                        case 0:
                            System.out.println("请输入要查询的员工号:");
                            s = sc.nextInt();
                            index = -1;

                            for(j = 0; j < nos.length; ++j) {
                                if (nos[j] == s) {
                                    index = j;
                                    break;
                                }
                            }

                            if (index != -1) {
                                System.out.println("工号:" + s + ",姓名:" + names[index]);
                            } else {
                                System.out.println("工号:" + s + "不存在!");
                            }
                            continue;
                        case 1:
                            for(j = 0; j < nos.length; ++j) {
                                if (nos[j] != 0) {
                                    System.out.println("工号:" + nos[j] + ",姓名:" + names[j]);
                                }
                            }
                        default:
                            continue;
                        }
                    case 2:
                        System.out.println("请输入要修改的工号:");
                        int x = sc.nextInt();
                        index = -1;

                        for(s = 0; s < nos.length; ++s) {
                            if (nos[s] == x) {
                                index = s;
                                break;
                            }
                        }

                        if (index != -1) {
                            System.out.println("工号:" + x + ",姓名:" + names[index]);
                            System.out.println("请输入新的姓名:");
                            String newName = sc.next();
                            names[index] = newName;
                            System.out.println("修改成功!工号:" + x + ",姓名:" + names[index]);
                        } else {
                            System.out.println("工号:" + x + "不存在!");
                        }
                        break;
                    case 3:
                        System.out.println("请输入要查询的员工号:");
                        s = sc.nextInt();
                        index = -1;

                        for(j = 0; j < nos.length; ++j) {
                            if (nos[j] == s) {
                                index = j;
                                break;
                            }
                        }

                        if (index != -1) {
                            System.out.println("工号:" + s + ",姓名:" + names[index]);
                            nos[index] = 0;
                            names[index] = null;
                            int[] newNos = new int[nos.length - 1];
                            String[] newNames = new String[names.length - 1];

                            for(int j = 0; j < nos.length - 1; ++j) {
                                if (nos[j] == 0) {
                                    newNos[j] = nos[j + 1];
                                    nos[j + 1] = 0;
                                } else {
                                    newNos[j] = nos[j];
                                }

                                if (names[j] == null) {
                                    newNames[j] = names[j + 1];
                                    names[j + 1] = null;
                                } else {
                                    newNames[j] = names[j];
                                }
                            }

                            nos = newNos;
                            names = newNames;
                            System.out.println("工号:" + s + "删除成功!");
                        } else {
                            System.out.println("工号:" + s + "不存在!");
                        }
                    }
                }
            }
        }
    }
}

**2. 获取数组指定下标位置的数字** 输入的这个数是否合法,需要判断以下几种情况:
        1.输入的是一个负值
        2.输入的是一个正值,越界了
        3.正确的情况

用到了流程控制语句
if(){ }else{ }

点击查看代码
package com.jsoft.afternoon;

import java.util.Scanner;

public class Ch01 {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in); 
        int [] arr = new int[]{4,58,69,14,22,-1};
        /*
            键盘输入一个下标,获取指定下标位置的数字
         */
        System.out.println("请输入一个下标:");
        int index = sc.nextInt();
     
        if(index >= 0 && index <= arr.length - 1){
            // 合法的情况
            System.out.println("对应位置的值是:" + arr[index]);
        } else {
            // 条件 <0 || >5
            // 越界
            System.out.println("你输入的数据有误,无法获取...");
        }
    }
}

**3. 数组倒序加入数据**
点击查看代码
package com.jsoft.afternoon;

import java.util.Scanner;

public class Ch02 {

    public static void main(String[] args) {

        // 准备一个键盘
        Scanner sc = new Scanner(System.in);
        int [] arr = new int[5];
        /*
            输入一个数,数是从后往前加
            倒序输入
            第一次输入的值给arr[arr.length - 1 - 0]
            第二次输入的值给arr[arr.length - 1 - 1]
            第三次输入的值给arr[arr.length - 1 - 2]
            数组的最大下标 = 数组的长度 - 1
         */

        for (int i = 0; i < arr.length; i++) {
            System.out.println("请输入第" + (i+1) +"个数:");
            // 输入
            int num = sc.nextInt();
            arr[arr.length - 1 - i] = num;
        }
        for (int i : arr) {
            System.out.println(i);
        }
    }
}

**4. 将数据插入指定下标位置**
点击查看代码
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package com.jsoft.afternoon;

import java.util.Arrays;
import java.util.Scanner;

public class Ch04 {
    public Ch04() {
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] arr = new int[]{1, 2, 3, 4, 5};
        int[] newArr = new int[arr.length * 2];

        int index;
        for(index = 0; index < arr.length; ++index) {
            newArr[index] = arr[index];
        }

        arr = newArr;

        while(true) {
            System.out.println("请输入要插入数据的下标:");
            index = sc.nextInt();
            System.out.println("请输入要插入的数据:");
            int num = sc.nextInt();
            int temp = arr[index];
            arr[index] = num;

            for(int i = 1; i < arr.length - index; ++i) {
                arr[arr.length - i] = arr[arr.length - 1 - i];
            }

            arr[index + 1] = temp;
            System.out.println("现在数组为:" + Arrays.toString(arr));
            System.out.println("是否继续添加:1、是   2、否");
            String flag = sc.next();
            byte var9 = -1;
            switch(flag.hashCode()) {
            case 49:
                if (flag.equals("1")) {
                    var9 = 0;
                }
                break;
            case 50:
                if (flag.equals("2")) {
                    var9 = 1;
                }
            }

            switch(var9) {
            case 0:
            default:
                break;
            case 1:
                System.out.println("当前数组为:" + Arrays.toString(arr));
                return;
            }
        }
    }
}

标签:index,石晓荟,07,arr,16,int,System,println,nos
来源: https://www.cnblogs.com/sxh0656/p/16486080.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有