Java编程基础实验题

【任务一】:编写程序完成矩阵的乘法运算。
要求:程序运行后要求用户分别输入两个矩阵的行数和列数,然后判断两个矩阵是否可以相乘,如果可以相乘,则
计算矩阵相乘后的结果,并按矩阵的格式输出;若不能相乘,则提示用户矩阵不相容,并退出程序。
提示:

  1. 一个 2 行 3 列的矩阵可以用一个二维数组表示:int matrixA[2][3]。此外,必须要知道什么是矩阵相乘。矩阵相乘
    的概念如下图所示:
    在这里插入图片描述
  2. 请检查用户输入的正确性,在用户输入错误的时候请提供重新输入的机会,不允许中途结束程序。
/*
* @Author:苘山楂树
* @Description:【任务一】:编写程序完成矩阵的乘法运算。
要求:程序运行后要求用户分别输入两个矩阵的行数和列数,然后判断两个矩阵是否可以相乘,如果可以相乘,则
计算矩阵相乘后的结果,并按矩阵的格式输出;若不能相乘,则提示用户矩阵不相容,并退出程序。
* @Date: 2019/09/18
* @Modified By:苘山楂树
 */
import java.util.Scanner;

public class Matrix {
    public static void main(String[] args) {
        int[][] matrixA = new int[100][100];
        int[][] matrixB = new int[100][100];
        int[][] matrixC = new int[100][100];
        Scanner input = new Scanner(System.in);
        System.out.println("Input the line number of MatrixA:");
        int m = input.nextInt();
        System.out.println("Input the row number of MatrixA:");
        int n = input.nextInt();
        System.out.println("Input the line number of MatrixB:");
        int k = input.nextInt();
        System.out.println("Input the row number of MatrixB:");
        int r = input.nextInt();
        if (m == r) {
            System.out.println("Input A's numbers:");
            for (int i = 1; i <= m; i++) {
                for (int j = 1; j <= n; j++) {
                    matrixA[i][j] = input.nextInt();
                }
            }
            System.out.println("Input B's numbers:");
            for (int i = 1; i <= k; i++) {
                for (int j = 1; j <= r; j++) {
                    matrixB[i][j] = input.nextInt();
                }
            }
            for (int i = 1; i <= m; i++) {
                for (int j = 1; j <= r; j++) {
                    matrixC[i][j] += matrixA[i][j] * matrixB[j][i];
                    System.out.print(matrixC[i][j] + " ");
                }
                System.out.println();
            }
        }
        else{
            System.out.println("This is illegal!");
        }
    }
}

【任务二】:实现菜单功能。
要求:

  1. 当程序开始运行时,显示一个功能菜单给用户选择,例如:
  2. 登录系统;
  3. 系统设置;
  4. 写日记;
  5. 查找日记;
  6. 退出系统;
    请选择: 2. 当用户选择功能 4 时,需要显示第二个菜单,内容如下:
  7. 按标题查找;
  8. 按内容查找;
  9. 按日期查找;
  10. 按心情查找;
  11. 按天气查找;
  12. 返回上一层菜单;
    请选择:
  13. 当用户选择其他某一个菜单项时,打印“正在执行某功能”,不需要实现该功能。执行完成之后,再次显示其他
    一级菜单供用户选择。
  14. 当用户选择二级菜单的第 6 项时,返回上一级菜单。
  15. 当用户选择一次菜单项 5 时,显示“谢谢使用,再见!”,并退出程序。
    提示:请判断用户输入的合法性,如果用户输入错误,请提示用户重新输入,不能中途退出系统。
/*
* @Author:苘山楂树
* @Description:【任务二】:实现菜单功能。
* @Date: 2019/09/18
* @Modified By:苘山楂树
 */
import java.util.Scanner;

public class Menue {
    public static void main(String[] args) {
        mainMenue();
    }

    public static void mainMenue () {
        Scanner input = new Scanner(System.in);
        System.out.println("1.系统登陆");
        System.out.println("2.系统设置");
        System.out.println("3.写日记");
        System.out.println("4.查找日记");
        System.out.println("5.退出系统");
        System.out.println("请选择:");
        int option = input.nextInt();
        while (!(option >= 1 && option <= 5)) {
            System.out.println("Input Error,input again");
            option = input.nextInt();
        }
        switch (option) {
            case 1:
                System.out.println("正在执行系统登录功能");
                break;
            case 2:
                System.out.println("正在执行系统设置功能");
                break;
            case 3:
                System.out.println("正在执行写日记功能");
                break;
            case 4:
                secondMenue();
                break;
            case 5:
                System.out.println("谢谢使用,再见!");
                System.exit(0);
                break;
        }
    }

    public static void secondMenue () {
        System.out.println("1.按标题查找");
        System.out.println("2.按内容查找");
        System.out.println("3.按日期查找");
        System.out.println("4.按心情查找");
        System.out.println("5.按天气查找");
        System.out.println("6.返回上一层菜单");
        System.out.println("请选择:");
        Scanner input = new Scanner(System.in);
        int option = input.nextInt();
        while (!(option >= 1 && option <= 6)) {
            System.out.println("Input Error,input again");
            option = input.nextInt();
        }
        switch (option) {
            case 1:
                System.out.println("正在执行按标题查找功能");
                break;
            case 2:
                System.out.println("正在执行按内容查找功能");
                break;
            case 3:
                System.out.println("正在执行按日期查找功能");
                break;
            case 4:
                System.out.println("正在执行按心情查找功能");
                break;
            case 5:
                System.out.println("正在执行按天气查找功能");
                break;
            case 6:
                mainMenue();
                break;
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值