Java实验报告2

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二输出九九乘法表和矩阵相乘问题

一.实验目的

1.掌握Java语言的循环语句,能使用多循环解决实际问题。

2.了解和灵活使用continue、break、continue label和break label等语句。

3.考查多维数组的定义和应用。

4.利用多维数组解决实际问题。

二.实验任务

1.熟悉对循环语句和多种转换语句的应用。

2.编写程序实现两个矩阵的相乘运算,前提是作为乘数的矩阵和作为被乘数的行数相等,则两个矩阵可以相乘,否则不可以。

三.实验环境

PC微机

Windows 操作系统

Eclipse 集成环境

四.实验步骤

1.九九乘法表的代码:

import ng.*;

import java.io.*;

public class chengfabiao {

public static void main(String[] args)

{

int i,j;

System.out.println("乘法表为");

for(i=1;i<10;i++)

{

for(j=1;j<=i;j++)

System.out.print(j+"*"+i+"="+i*j+" ");

System.out.println("");

}

}

}

运行结果截图:

2.import java.util.*;

public class List {

Scanner scanner;

int a[][];

int b[][];

int c[][];

int x,y,m,n;

public List()

{

scanner=new Scanner(System.in);

System.out.println("请输入矩阵a的行数:");x=scanner.nextInt();

System.out.println("请输入矩阵a的列数:");y=scanner.nextInt();

a=new int[x][y];

input(a,x,y);

System.out.println("请输入矩阵b的行数:");m=scanner.nextInt();

System.out.println("请输入矩阵b的行数:");n=scanner.nextInt();

b=new int[m][n];

input(b,m,n);

if(y!=m)

System.out.println("这两个矩阵不能相乘!");

c=new int[x][n];

multiply(a,x,y,b,m,n,c);

output(c,x,n);

}

public void input(int a[][],int row,int col)

{

System.out.println("矩阵a:行数="+row+"列数="+col);

System.out.println("请输入该矩阵的各个元素:");

for(int i=0;i<row;i++)

for(int j=0;j<col;j++)

a[i][j]=scanner.nextInt();

}

public void multiply(int a[][],int x,int y,int b[][],int m,int n,int c[][]) {

for(int i=0;i<x;i++)

for(int j=0;j<n;j++)

for(int h=0;h<y;h++)

c[i][j]+=a[i][h]*b[h][j];

}

public void output(int c[][],int row,int col)

{

System.out.println("这两个矩阵相乘的结果为:");

for(int i=0;i<row;i++)

{

for(int j=0;j<col;j++)

System.out.print(c[i][j]+" ");

System.out.print("\n");

}

}

public static void main(String args[])

{

List LL=new List();

}

}

五.实验总结

通过对本次实验的编写,发现在JA V A中对于数组的要求没有C和C++中那么严格,比如可以定义一个数组String[] a,而在C和C++中却不能。还有continue和break语句可以带标签的。我发现JA V A比C和C++方便的多。

相关文档
最新文档