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++方便的多。