Java实验报告2

  • 格式:doc
  • 大小:63.50 KB
  • 文档页数:4

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

一.实验目的

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

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) 3 {

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

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

for(int i=0;i

for(int j=0;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

for(int j=0;j

for(int h=0;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

{

for(int j=0;j

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

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

}

}

public static void main(String args[])

{

List LL=new List();

}

}

4

五.实验总结

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