java 练习java基础的一些练习和一个总练习

学习编码最重要的就是练习,但如果没有个好的题目,自己学的知识会慢慢忘掉,不熟练。所以,我把我做过的一些练习题目发给大家,给大家练习,然后后面有源代码。

1.译密码

所谓译密码,是指为了通信保密,按一定规律,将通信内容转换成密码,收到加密内容的收信人再按约定的规律将其译回原文。本实例中,将按以下规律将通信内容转换成密码:
将字母A变成字母E,a变成e,即将原文中的字母变成其后的第4个字母。而W变成A,X变成B,Y变成C,Z变成D,即循环加密。字母按上述规律转换,非字母字符不变。例如“love”变成“pszi”。下面是加密程序的代码。

2.九九乘法表

九九乘法表是每个人小时候都要熟读并背诵的。九九乘法表既有行又有列,因此下面这个程序,使用双重循环来实现打印输出一个九九乘法表。要求每一列要对齐。

3.打印数字三角

大练习

做一个基于控制台的学生信息管理系统,要求用数组表示学生信息,至少2条信息。有增删改查等,我会上传源代码,可以照着运行结果写。


源代码:

九九乘法表:

public class JiuJiu
{
    public static void main(String[] args){
        for(int i=1;i<10;i++){
            for(int j=1;j<=i;j++){
                if(i*j>=10)
                    System.out.print(j+"*"+i+"="+i*j+" ");
                else
                    System.out.print(j+"*"+i+"="+i*j+"  ");
            }
            System.out.println();
        }
    }
}

数字三角:

public class SanJiao
{
    public static void main(String[] args){
        for(int i=0;i<8;i++){
            for(int j=0;j<7-i;j++)
                System.out.print("    ");

            int temp = 1;
            int k;
            for(k=0;k<i;k++){
                if(temp>=100)
                    System.out.print(" "+temp);
                else if(temp>9 && temp<100)
                    System.out.print("  "+temp);
                else
                    System.out.print("   "+temp);
                temp = 2 * temp;
            }
            for(;k>=0;k--){
                if(temp>=100)
                    System.out.print(" "+temp);
                else if(temp>9 && temp<100)
                    System.out.print("  "+temp);
                else
                    System.out.print("   "+temp);
                temp =temp/2;
            }
            System.out.println();
        }
    }
}

译密码:

public class MiMa
{
    char[] mingWen;
    //接收和判断用户输入
    public boolean acc(){
        java.util.Scanner in = new java.util.Scanner(System.in);
        System.out.println("请输入明文:");
        String mingWenTemp = in.nextLine().trim();
        mingWen = mingWenTemp.toCharArray();
        if(!(mingWenTemp == null || "".equals(mingWenTemp))){
            return true;
        }
        else{
            System.out.println("输入的明文不能为空!");
            return false;
        }
    }
    //加密
    public void jiaMi(){
        for(int i=0;i<mingWen.length;i++){
            if(mingWen[i]>='a' && mingWen[i]<='z' || mingWen[i]>='A'&&mingWen[i]<='Z'){
                if(mingWen[i]>='a')
                    mingWen[i]=(char)(mingWen[i]+4>'z'? (char)(mingWen[i]+4-26) :mingWen[i]+4);
                        
                else
                    mingWen[i]=(char)(mingWen[i]+4>'Z'? (char)(mingWen[i]+4-26) :mingWen[i]+4);
            }
        }
        System.out.println("加密成功!");
    }
    //解密
    public void jieMi(){
        for(int i=0;i<mingWen.length;i++){
            if(mingWen[i]>='a' && mingWen[i]<='z' || mingWen[i]>='A'&&mingWen[i]<='Z'){
                if(mingWen[i]>='a'){
                    mingWen[i]=(char)(mingWen[i]-4>='a' ? mingWen[i]-4:mingWen[i]-4+26);
                    }
                else{
                    mingWen[i]=(char)(mingWen[i]-4>='A' ? mingWen[i]-4:mingWen[i]-4+26);
                    }
            }
        }
        System.out.println("解密成功!");
    }
    //输出
    public void show(){
        for(char temp:mingWen){
            System.out.print(temp);
        }
        System.out.println();
        System.out.println("----------------------------");
    }

    public static void main(String[] args){
        MiMa mima = new MiMa();
        if(mima.acc()){
            System.out.println("----------------------------");
            System.out.println("明文是:");
            mima.show();

            mima.jiaMi();
            System.out.println("----------------------------");
            System.out.println("密文是:");
            mima.show();

            mima.jieMi();
            System.out.println("----------------------------");
            System.out.println("解密后是:");
            mima.show();
        }
        else
            System.out.println("操作失败!");
    }
}

学生管理系统:

import java.util.Scanner;
public class StudentManager
{
    private static String[] stuIds = new String[50];
    private static String[] stuNames = new String[50];
    private static int count =0;
    //分割线
    public static void separateLine(){
        final String MARK = "*";
        final int NUMBER = 35;
        for(int i=0;i<NUMBER;i++){
            System.out.print(MARK);
        }
        System.out.println();
    }
    //欢迎界面
    public static void welcome(){
        separateLine();
        System.out.println("\n       欢迎使用学生管理系统\n");
        separateLine();
    }
    //登陆
    public static void login(){
        Scanner sc = new Scanner(System.in);
        String loginChoise =null;
        while(true){
            while(true){
                System.out.println("请选择:-0:退出系统   -1:登陆");
                loginChoise = sc.nextLine().trim();
                if("0".equals(loginChoise)){
                    System.out.println("已退出!");
                    System.exit(0);
                }
                else if("1".equals(loginChoise)){
                    break;
                }
                else{
                    separateLine();
                    System.out.println("输入有误,请重新输入!");
                }
            }
            System.out.print("账号:");
            String name = sc.nextLine().trim();
            System.out.print("密码:");
            String password = sc.nextLine().trim();
            if("admin".equals(name) && "admin".equals(password)){
                System.out.println("登陆成功!");
                break;
            }
            else{
                separateLine();
                System.out.println("输入有误,请重新输入!");
            }
        }
    }
    //菜单
    public static void menu(){
        Scanner sc = new Scanner(System.in);
        String menuChoise = null;
        boolean flag = true;//退出登陆时,不再让菜单while循环
        while(flag){
            System.out.println("请选择:-0:添加学生信息   -1:删除学生信息   -2:修改学生信息");
            System.out.println("        -3:查询学生信息   -4:查询所有信息   -5:退出登陆");
            System.out.print("选择:");
            menuChoise = sc.nextLine().trim();
            switch(menuChoise){
                case "0":
                    add();
                    separateLine();
                    break;
                case "1":
                    delete();
                    separateLine();
                    break;
                case "2":
                    update();
                    separateLine();
                    break;
                case "3":
                    showSingle();
                    separateLine();
                    break;
                case "4":
                    showAll();
                    break;
                case "5":
                    flag = false;
                    System.out.println("已退出!");
                    separateLine();
                    break;
                default:
                    separateLine();
                    System.out.println("输入有误,请重新输入!");
            }
        }
    }
    //增
    public static void add(){
        if(count!=stuIds.length){
            Scanner sc = new Scanner(System.in);
            System.out.print("请输入学号:");
            String stuId = sc.nextLine().trim();
            System.out.print("请输入姓名:");
            String stuName = sc.nextLine().trim();
            if(stuId==null || "".equals(stuId) ||stuName==null || "".equals(stuName)){
                System.out.println("输入有误,请重新输入!");
            }
            else{
                count++;
                stuIds[count-1]=stuId;
                stuNames[count-1]=stuName;
                System.out.println("添加成功!");
            }
        }
        else{
            System.out.println("人数已满,添加失败!");
        }
    }
    //删
    public static void delete(){
        boolean flag = false;//标志是否查询到学生
        Scanner sc = new Scanner(System.in);
        System.out.print("输入要删除的ID:");
        String stuId = sc.nextLine().trim();
        if(stuId==null || "".equals(stuId)){
            System.out.println("输入有误,请重新输入!");
        }
        else{
            for(int i=0;i<count;i++){
                if(stuIds[i].equals(stuId)){
                    System.out.println("学号   姓名");
                    System.out.println("  "+stuIds[i]+"   "+stuNames[i]+"\n");
                    flag = true;
                    while(true){
                        System.out.println("是否确认要删除?是(y) 否(n)");
                        String choise = sc.nextLine();
                        if("y".equals(choise)||"Y".equals(choise)){
                            for(int j=i;j<stuIds.length-1;j++){
                                stuIds[j]=stuIds[j+1];
                                stuNames[j]=stuNames[j+1];
                            }
                            count--;
                            System.out.println("删除成功!");
                            break;
                        }
                        else if("n".equals(choise)||"N".equals(choise)){
                            System.out.println("已取消删除!");
                            break;
                        }
                        else{
                            System.out.println("输入有误,请重新输入!");
                        }
                    }
                    break;
                }
            }
            if(!flag){
                System.out.println("没有找到要查询的学生!");
            }
        }
    }
    //改
    public static void update(){
        boolean flag = false;//标志是否查询到学生
        Scanner sc = new Scanner(System.in);
        System.out.print("输入要修改的ID:");
        String stuId = sc.nextLine().trim();
        if(stuId==null || "".equals(stuId)){
            System.out.println("输入有误,请重新输入!");
        }
        else{
            for(int i=0;i<count;i++){
                if(stuIds[i].equals(stuId)){
                    flag=true;
                    System.out.println("旧姓名:"+stuNames[i]);
                    while(true){
                        System.out.print("新姓名:");
                        String stuName = sc.nextLine().trim();
                        if(stuName==null || "".equals(stuName)){
                            System.out.println("输入有误,请重新输入!");
                        }
                        else{
                            stuNames[i]=stuName;
                            System.out.println("修改成功!");
                            break;
                        }
                    }
                    break;
                }
            }
            if(!flag){
                System.out.println("没有找到要修改的学生!");
            }
        }
    }
    //查all
    public static void showAll(){
        System.out.println("学号   姓名");
        for(int i=0;i<count;i++){
            System.out.print("  "+stuIds[i]+"   "+stuNames[i]+"\n");
        }
        System.out.println("\n学生数:"+count);
        separateLine();
    }
    //查stuId
    public static void showSingle(){
        boolean flag = false;//标志是否查询到学生
        Scanner sc = new Scanner(System.in);
        System.out.print("输入要查询的ID:");
        String stuId = sc.nextLine().trim();
        if(stuId==null || "".equals(stuId)){
            System.out.println("输入有误,请重新输入!");
        }
        else{
            for(int i=0;i<count;i++){
                if(stuIds[i].equals(stuId)){
                    System.out.println("学号   姓名");
                    System.out.println("  "+stuIds[i]+"   "+stuNames[i]+"\n");
                    flag = true;
                    break;
                }
            }
            if(!flag){
                System.out.println("没有找到要查询的学生!");
            }
        }
    }
    public static void main(String[] args){
        welcome();//欢迎界面
        while(true){
            login();//登陆
            menu();//菜单
        }
    }
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值