实验报告Java二
实验报告(二)

北京信息科技大学信息管理学院实验报告课程名称java程序设计实验项目实验二类和对象实验仪器PC、jdk、jcreator专业_______ _________班级/学号________ ___学生姓名_______ __________实验日期实验地点成绩_______________________指导教师_____李春强_____________return p;}int getPower(int q){return q;}}Lab2_2:public class TV {void play(){System.out.println("正在播放动物世界");}}public class Family {TV homeTV;void buyTV(TV tv){tv=this.homeTV;System.out.println("购买一台电视");}}public class MainClass {public static void main(String args[]){ TV haierTV=new TV();Family zhangsanFamily =new Family();zhangsanFamily.buyTV(haierTV);haierTV.play();}}Lab2_3:public class Land {public static void main(String args[]){ Village.WaterAmount=200;System.out.println("水井中有水"+Village.WaterAmount+"升");Village v1=new Village();Village v2=new Village();int m=50;System.out.println("v1从水井中取水"+m+"升");v1.WaterAmount-=m;System.out.println("v2发现水井中有水"+Village.WaterAmount+"升");System.out.println("v2从水井中取水"+m+"升");v2.WaterAmount-=m;System.out.println("v1发现水井中有水"+Village.WaterAmount+"升");}}public class Village {public static int WaterAmount;}Lab2_4:import wukong.xiyou.*;public class SunRise{public static void main(String args[]){SquraEquation sq=new SquraEquation();sq.getRoot(100);System.out.println("此数的平方根为"+"sq.getRoot()");}}package java.wukong.xiyou;public class SquraEquation{public double getRoot(double num){ return Math.sqrt(num);}}1.实验名称、实验目的、实验内容、实验要求由教师确定,实验前由教师事先填好,然后作为实验报告模版供学生使用;2.实验准备由学生在实验或上机之前填写,教师应该在实验前检查;3.实验过程由学生记录实验的过程,包括操作过程、遇到哪些问题以及如何解决等;4.实验总结由学生在实验后填写,总结本次实验的收获、未解决的问题以及体会和建议等;5.源程序、代码、具体语句等,若表格空间不足时可作为附录另外附页。
实验二 Java类-实验报告

南京信息工程大学实验(实习)报告实验(实习)名称Java类实验(实习)日期 10.17 得分指导教师刘文杰院计算机与软件学院专业软件工程年级 2017级班次 1 姓名张成学号201713440241.实验目的:1)熟练MyEclipse工具的使用与调试;2)掌握Java类、方法和变量的定义和使用;3)熟悉方法重载和覆盖、掌握this和supper关键字使用;4)掌握4类访问控制符的使用。
2.实验内容:(1)定义一个类Circle,实现其面积计算功能getArea();(2)编写程序,读入一个正整数并按降序显示它的所有最小因子。
(教材第3章习题9)(3)利用多态性编程,实现求三角形、正方形和圆形的面积。
(教材第4章习题6)3.实验步骤1、public class Circle{public double radius;public Circle(double r){radius= r;}public double getArea(){return radius*radius*Math.PI;}public static void main(String[] args){Circle area1 = new Circle(5);System.out.println("The area is " + area1.getArea());}}2、import java.util.Scanner;public class Read {public static void main(String[] args){Scanner input =new Scanner(System.in);System.out.print("输入一个正整数:");int n=input.nextInt();int []a=new int[n];int []b=new int[n];int p,q=0,m=0;for(p=2;p<=n;p++){while(n%p==0){n=n/p;if(n!=1){a[q]=p;q++;}else{a[q]=p;}}}while(q!=-1){b[m]=a[q];m++;q--;}for(p=0;p<m;p++){System.out.print(b[p]+" ");}}}3、abstract class Shape{public abstract double getArea(Shape ar); }class Square extends Shape{private double a=0;public Square(double a){this.a=a;}public double getArea(Shape ar){double s=0;s=this.a*this.a;return s;}}class Triangle extends Shape{private double a=0;private double b=0;private double c=0;public Triangle(double a,double b,double c) {this.a=a;this.b=b;this.c=c;}public double getArea(Shape sh){double s=0;double p=(a+b+c)/2;s=Math.sqrt(p*(p-a)*(p-b)*(p-c));return s;}}class Circle1 extends Shape{private double r=0;public Circle1(double r){this.r=r;}public double getArea(Shape sh){double s=0;s=this.r*this.r*Math.PI;return s;}}public class Area333{public static void main(String agrs[]){Shape ar[]=new Shape[3];ar[0]=new Circle1(3);ar[1]=new Square(5);ar[2]=new Triangle(3,2,3);for(int i=0;i<3;i++){System.out.println(ar[i].getArea(ar[i]));}}}4.实验分析和总结通过本次实验,我对Java的理解更加深入。
java实验报告_2

Ch4类和对象练习题之方法一简答题1、如果在一个返回值的方法中,不写return语句会发生什么错误?在返回值类型为void的方法中可以有return语句吗?下面的方法中的return语句是否会导致语法错误?public static void xMethod(double x,double y){System.out.println(x+y);return x+y;}(1)没有返回值(2)不可以(3)会2、什么是值传递?给出下面程序运行的结果,分别给出调用max之前、刚进入max方法、max方法刚要返回之前以及max方法返回之后堆栈的内容。
public class Test{public statci void main(String[] args){int max=0;max(1,2,max);System.out.println(max);}public static void max(int value1,int value2,int max){if(value1>value2)max=value1;elsemax=value2;}}(1)值传递是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。
(2)空,max=0,max=0,空3、描述传递基本类型参数和传递引用类型参数的区别,给出下面程序的输出。
public class Test{public static void main(String[] args){Count myCount=new Count();int times=0;for(int i=0;i<100;i++)increment(myCount,times);S ystem.out.println(“count is”+myCount.count);System.out.println(“times is”+times);}public static void increment(Count c,int times){c.count++;times++;}}public class Count{public int count;public Count(int c){count=c;}public Count(){count=1;}}(1)基本类型是值传递(2)引用类型是引用传递。
java实验报告 2

实验报告课程:Java 编程技术班级:网络1203班学号:姓名:实验4 面向对象编程一、实验目的通过编程和上机实验理解Java 语言是如何体现面向对象编程基本思想,了解类的封装方法,以及如何创建类和对象,了解成员变量和成员方法的特性,掌握OOP 方式进行程序设计的方法,了解类的继承性和多态性的作用。
二、实验内容1.创建一个名为Dog的类,它具有重载的bark()方法。
bark()方法应根据不同的基本数据类型的参数来进行重载,bark()方法可根据参数输出狗吠(barking)、咆哮(howling)等信息。
编写main()方法来调用不同的bark()方法。
源代码如下:public class Dog {void f(int m){System.out.println("barking!");}void f(double n){System.out.println("hoeling!");}public static void main(String[] args){Dog d=new Dog();d.f(2);d.f(2.2);}}运行界面如下:2.创建Rodent(啮齿动物)类,其子类有Mouse(老鼠)、Mole(鼹鼠)、Hamster(大颊鼠)。
在父类中,提供对所有的Rodent通用的方法。
在子类中,根据该子类特定的行为习性来覆盖这些方法。
例如老鼠属杂食(omnivorous),鼹鼠主食昆虫(insect),大颊鼠主食植物种子(plant seed)。
创建一个Rodent 数组,填充不同的数据类型,然后调用父类的方法,观察会发生什么情况。
源代码如下:public class Rodent {void eat(){System.out.println("zhushi");}public static void main(String[] args){Rodent r[]=new Rodent[4];Rodent rodent=new Rodent();Mouse mouse=new Mouse();Mole mole=new Mole();Hamster hamster=new Hamster();r[0]=rodent;r[1]=mouse;r[2]=mole;r[3]=hamster;r[0].eat();r[1].eat();r[2].eat();r[3].eat();}}class Mouse extends Rodent{void eat(){System.out.println("omniovrous!");}}class Mole extends Rodent{void eat(){System.out.println("insect!");}}class Hamster extends Rodent{void eat(){System.out.println("plant seed!");}}运行界面如下:3.3.修改上述第9题中的Rodent类,使其成为一个抽象类。
java实验二报告

中国矿业大学计算机学院实验报告课程名称 java实验实验名称实验二面向对象编程班级_____ 姓名_____学号___ 实验日期_2013_-5-27____实验报告要求:1.实验目的 2.实验内容 3.实验步骤4.运行结果5.流程图6.实验体会一、实验代码及演示结果1. 编一程序,求两个正整数m、n的最大公约数。
要求程序中有两个方法,分别使用循环和递归,最后在主方法中两次求解并输出最大公约数。
package com;import java.util.Scanner;public class ex21{public static int num1,num2,temp1,temp2;public static void main(String args[]){System.out.print("请输入两个数字:");Scanner in=new Scanner(System.in);num1=in.nextInt();num2=in.nextInt();if(num1>num2){temp1=solution1(num1,num2);temp2=solution2(num1,num2);}else{temp1=solution1(num2,num1);temp2=solution2(num2,num1);}System.out.println("循环法得到"+num1+"和"+num2+"的最大公约数为:"+temp1);System.out.println("递归法得到"+num1+"和"+num2+"的最大公约数为:"+temp2);}private static int solution1(int x,int y){int r;while(y!=0){r=x%y;x=y;y=r;}return x;}private static int solution2(int m,int n){if(n==0){return m;}else{return solution2(n,m%n);}}}结果演示:2.使用类编写程序(在程序中定义类,然后在主方法中创建类的对象,并调用该类中的方法,观察所得结果。
JAVA实验报告_实验2__

Java Object-Oriented Programming Experimental ReportStudent ID Name ClassLocation Teacher Time1.Experimental purposes and requirements1.1 Print and println, String literals, String concatenation, Escape sequences1.2 Variables, Constants, Assignment, Integers and Floating point, Arithmetic Expressions, Operator Precedence, Input using the Scanner class1.3 HTML, Applets, Graphics, Colors2.Experimental equipment (environment) and requirements2.1 Eclipse2.2 Window XPb Exercises(Please see Lab Manual)3.1 Names and Places(Choose to do)3.1.13.1.23.1.33.2 Table of Student Grades(Choose to do)/\\\\\\\\\\\\\\\\\\\\\\\ (1)(2)(3)3.3 Two Meanings of Plus(1)(2)(3)解释语句一:第一个输出结果是85,没加括号从左到右运算前第一句为字符串则8和5为字符串,有85(4)解释语句二:第二个输出结果为13,在输出语句中默认优先进行带括号的运算,8和5为整型,变成数字之后在从左到右运算,左面第一个为字符串则运算完的13也为字符型(5)解释语句三:无括号,从左到右运算,其中第三句为字符串则从左到右全识别为字符型则853.4 Pre-lab Exercises(1)常量是静态变量,不会更改,全程序共用同一个常量名变量可以在不同类中同时存在不属于本类的变量名,值可以不同(2)第一句:定义变量x第二句:定义整型变量x值为3第三句:啥都不是(3)(4)A 73B -14C 0.3D 3.333E 1.57F 4.03G 0.248H 4.29I 0.31J 1K 1(5)修改语法错误(已修改完)import java.util.Scanner;public class errors{public static void main (String[] args){String Name; // Name of the userint number;int numSq;Scanner scan = new Scanner(System.in);System.out.print ("Enter your name, please: ");Name = scan.nextString();System.out.print ("What is your favorite number?“);number = scan.nextInt();numSq = number * number;System.out.println (Name +", the square of your number is "+numSquared);}}3.5 Area and Circumference of a Circle(1)(2)(3)3.6 Painting a Room(Choose to do) (1)(2)3.7 Ideal Weight(1)(2)3.8 Lab Grades(Choose to do)3.9 Base Conversion(Choose to do)3.10 Introduction to HTML(Choose to do) 3.11 Drawing Shapes(2)x,y修改为0(3)高和宽改为200 300(4)400 40 50 200(4)矩形打印(5)椭圆3.12 The Java Coordinate System(Choose to do)3.13 Drawing a Face(Choose to do)3.14 Creating a Pie Chart(Choose to do)3.15 Colors in Java(Choose to do)4.Experimental results and data processing5.Analysis and discussionScore: 6.Teacher ReviewsExperimental Report List1 Names and Places1) Source code list3.1package test_java_01;//*************************************************************** //Names.java////Prints a list of student names with their hometowns//and intended major//*************************************************************** public class Test_java_01_1{// ------------------------// main prints the list// ------------------------public static void main (String[] args){System.out.println ();System.out.println ("\tName\t\tHometown");System.out.println ("\t====\t\t========");System.out.println ("\tprince\t\tblack_dragon_river_province"); System.out.println ("\tcircle\t\tWashington");System.out.println ();}}package test_java_01;//*************************************************************** //Names.java////Prints a list of student names with their hometowns//and intended major//*************************************************************** public class Test_java_01_1{// ------------------------// main prints the list// ------------------------public static void main (String[] args){System.out.println ();System.out.println ("\tName\t\tHometown\t\tmajor\t");System.out.println ("\t====\t\t========\t\t==========="); System.out.println ("\tprince\t\tblack_drass\t\tcomputer");System.out.println ("\tcircle\t\tWashington\t\tghhhh");System.out.println ();}}3.2public class Test_java_01_1{// ------------------------// main prints the list// ------------------------public static void main (String[] args){System.out.println("\t//////////////////////\t"+"\t\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\ \t");System.out.println ("\t======\t\tStudent Points\t\t=====\t ");System.out.println ("\tName\t\tLab\t\tBonus\t\tTotal ");System.out.println ("\t----\t\t---\t\t-----\t\t----- ");System.out.println ("\tJoe\t\t43\t\t7\t\t50\t ");System.out.println ("\tWiam\t\t50\t\t8\t\t58 ");System.out.println ("\tMaue\t\t3\t\t1\t\t4 ");System.out.println ("\tMarSue\t\t9\t\t10\t\t9 ");System.out.println ("\tMSue\t\t39\t\t10\t\t49 ");}}3.3(3)package test_java_01;import java.util.Scanner;public class PlusTest {public static void main (String[] args){int vail1,vail2,vail3;double average;Scanner scan=new Scanner(System.in);vail1=scan.nextInt();vail2=scan.nextInt();vail3=scan.nextInt();average=((double)vail1+(double)vail2+(double)vail3)/3;System.out.println("Please enter three integers and " +"I will compute their average :"+average);}}3.43.5(1)package test_java_01;public class sdd_3_5 {public static void main(String[] args){final double PI = 3.14159;int radius = 10;double area = PI * radius * radius;double line = PI * 2 * radius;System.out.println("The area of a circle with radius " + radius + " is " + area);radius = 20;area = PI * radius * radius;area = PI * radius * radius;System.out.println("The area of a circle with radius " + radius + " is " + area);}}(2)package test_java_01;public class sdd_3_5 {public static void main(String[] args){final double PI = 3.14159;int radius = 10;double area = PI * radius * radius,area2=4*area,area3;double line = PI * 2 * radius,line2=2*line,line3;double a,a1;a=line2-line;a1=area2/area;System.out.println("The area of a circle with radius " + radius + " is " + area);System.out.println("The line of a circle with radius " + radius + " is " + line);System.out.println(a+" "+a1);radius = 20;line3 = PI * 2 * radius;area3 = PI * radius * radius;System.out.println("The line of a circle with radius " + radius + " is " + line3);System.out.println("The area of a circle with radius " + radius + " is " + area3);}}(3)package test_java_01;import java.util.Scanner;public class sdd_3_5 {public static void main(String[] args){final double PI = 3.14159;Scanner scan=new Scanner(System.in);System.out.println("put in two number:");int a=scan.nextInt(),b=scan.nextInt();int c=a*b;System.out.println("number :"+c);}}3.6(1)package test_java_01;import java.util.Scanner;public class Area_jisuan_2 {public static void main(String[] args) {final int COVERAGE = 350;Scanner scan = new Scanner(System.in);System.out.print("put in length width and height:");int length = scan.nextInt(),width = scan.nextInt(),height =scan.nextInt();double totalSqFt,paintNeeded;paintNeeded = height*width*2 + width*length*2 + length*height*2;totalSqFt = paintNeeded/COVERAGE;System.out.print("the paintNeeded:"+ paintNeeded+" the totalSqFt:" +totalSqFt);}}(2)package test_java_01;import java.util.Scanner;public class Area_jisuan_2 {public static void main(String[] args) {final int COVERAGE = 350,doorsarea = 20,windowarea = 15 ;Scanner scan = new Scanner(System.in);System.out.println("put in length width and height:");int length = scan.nextInt(),width = scan.nextInt(),height =scan.nextInt();int doors,window;System.out.println("windows number and doors number:");window=scan.nextInt();doors=scan.nextInt();char i;double totalSqFt,paintNeeded;paintNeeded = height*width*2 + width*length*2 + length*height*2 - doors*doorsarea - windowarea*window;totalSqFt = paintNeeded/COVERAGE;System.out.print("the paintNeeded:"+ paintNeeded+" the totalSqFt:" +totalSqFt);}}3.7package test_java_01;import java.util.Scanner;public class weight {public static void main(String[] args) {int male1 = 14, female1 = 5;int weightreall,i=0,l;System.out.print("put in male or female:");Scanner scan = new Scanner(System.in);String c=scan.next();String b=new String("male");System.out.print("put in your height:");double height=scan.nextDouble(),ol,k;ol=height%1;ol=(2*ol*100+1)/20;if(b.equals(c)){weightreall = male1*(int)ol + 100;}else{weightreall = female1*(int)ol + 100;}System.out.print(weightreall);}}(2)package test_java_01;import java.util.Scanner;public class weight {public static void main(String[] args) {int male1 = 14, female1 = 5;int weightreall,i=0,l,weightreallf;System.out.print("put in male or female:");Scanner scan = new Scanner(System.in);String c=scan.next();String b=new String("male");System.out.println("put in your height:");double height=scan.nextDouble(),ol,k;ol=height%1;ol=(2*ol*100+1)/20;weightreall = male1*(int)ol + 100;double wei=weightreall,min,max;min=wei*0.85;max=wei*1.15;System.out.println("最佳体重范围男"+min+"-----"+max);weightreallf =female1*(int)ol +100;wei = weightreallf;min=wei*0.85;max=wei*1.15;System.out.println("最佳体重范围男"+min+"-----"+max);if(b.equals(c)){System.out.print("你的体重"+weightreall);}else{System.out.print("你的体重"+weightreallf);}}}3.8(1)四矩形打印//********************************************//Hello.java////Print a Hello, World message.//********************************************package test_java_01;import javax.swing.JApplet;import java.awt.*;public class hello extends JApplet{public void paint (Graphics page){final int MAX_SIZE = 300;final int PAGE_WIDTH = 600;final int PAGE_HEIGHT = 400;int x, y;int width, height;setBackground (Color.yellow);page.setColor (Color.blue);x = 400;y = 400;width = 150;height = 150;// Draw the rectanglepage.fillRect(x, y, width, height);page.setColor (Color.cyan);page.fillRect(x, y, width-50, height-50);page.setColor (Color.green);page.fillRect(x, y-40, width-100, height+50);page.fillRect(x-200, y-200, width-100, height+50);}}(2)来两个椭圆//********************************************//Hello.java////Print a Hello, World message.//******************************************** package test_java_01;import javax.swing.JApplet;import java.awt.*;public class hello extends JApplet{public void paint (Graphics page){final int MAX_SIZE = 300;final int PAGE_WIDTH = 600;final int PAGE_HEIGHT = 400;int x, y;int width, height;setBackground (Color.yellow);page.setColor (Color.blue);x = 400;y = 400;width = 150;height = 150;// Draw the rectanglepage.fillOval(x, y, width, height);page.setColor (Color.cyan);page.fillRect(x, y, width-50, height-50);page.setColor (Color.green);page.fillRect(x, y-40, width-100, height+50);page.fillOval(x-200, y-200, width-10, height+50);}}2) Results data processing3)Answer questions4)Error Analysis and Discussion。
《Java语言程序设计》实验报告二

《Java技术》实验报告—实验(二)实验室:C207 2018 年10 月13日6.以'R'开头的事务表示这是一个到货单记录,在'R'后面是Item number和它的数量Quanlity。
处理一条到货单意味着增加库存中相应货物的数量(增加的数量=到货单中的数量)。
注意:如果在Transactions.txt文件中,到货单出现在发货单之后,到货单中的货物数量可以用来填补发货单中的数量(可以理解成在Transactions.txt中,优先处理到货单)。
7.以'A'开头的事务表示向库存中增加一种新的货物(即这种货物以前库存中没有),在'A'后面是Item number,供应商supplier以及货物的描述description。
处理一个新增货物记录意味着向库存中增加一个数量Quantity为0的新的Item。
你可以假设在一个Transactions.txt 中,新增货物记录总是出现在第一个到货单之前。
8.以'D'开头的事务表示从库存中删除一种货物,在'D'后面是Item号。
删除操作总是在所有的事物处理之后才被处理,以保证对于可能出现的同一种货物的发货单的操作能在删除之前被正确处理。
如果要删除的某种货物的库存量Quantity不为0的话,系统应该向Errors.txt记录出错信息。
9.文件Shipping.txt中的每一行代表给某一客户的发货信息。
Shipping.txt中的每一行分别是客户编号、Item号、货物数量,它们之间用tab键分隔。
如果发货单中有两条客户编号和Item 编号一样的记录,在Shipping.txt中应该将这两条发货信息合并(即将它们的数量相加)。
10.Errors.txt文件包含未发送的发货记录和库存量大于0的删除记录。
Errors.txt每一行包含Custom编号、Item编号以及发货单上的数量Quantity。
java实验报告2

一练习while语句1.【实验目的】(1)为了熟练掌握java课程中的基础知识,了解java语言的灵活性和可操作性;(2)提高大家的实践操作能力;(3)通过此次实验上机,对已学知识加以运用,从而更加深刻的理解和认识老师所讲过的内容。
2.【实验算法】(1)先用小的一个数除大的一个数,得第一个余数;(2)再用第一个余数除小的一个数,得第二个余数;(3)又用第二个余数除第一个余数,得第三个余数;(4)这样逐次用后一个数去除前一个余数,直到余数是0为止。
那么,最后一个除数就是所求的最大公约数(如果最后的除数是1,那么原来的两个数是互质数)。
3.【实验要求】(1)按照题目要求编写java程序代码,并得到正确的运算结果,以达到实验的目的;(2)编写程序代码的过程中,不允许使用java语言以外的其他程序语言;(3)在调试过程中,若出现错误,必须重新修改程序,并将出错的原因写在实验总结中,做出适当的解释;(4)能熟练掌握jdk6.ZH_cn的使用方法。
4.【问题与解决方法】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
解决方法:辗转相除法程序:import java.util.Scanner;public class cl {public static void main(String[] args) { System.out.println("请输入两个数:");Scanner in=new Scanner(System.in);int m=in.nextInt();int n=in.nextInt();int r;int t;int a,b;int s;a=m;b=n;if(a<a){t=a;a=b;b=t;}r=a%b;if(r==0){System.out.println("最大公约数为:"+b);System.out.println("最小公倍数为:"+a);}else{while(r!=0){a=b;b=r;r=a%b;}s=m*n/b;System.out.println("最大公约数为:"+b);System.out.println("最小公倍数为:"+s);}}}测试结果:(1)请输入两个数:948最大公约数为:3最小公倍数为:144(2)请输入两个数:88最大公约数为:8最小公倍数为:8二练习for语句1.【实验目的】(1)为了熟练掌握java课程中的基础知识,了解java语言的灵活性和可操作性;(2)提高大家的实践操作能力;(3)通过此次实验上机,对已学知识加以运用,从而更加深刻的理解和认识老师所讲过的内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JA V A实验报告系(教研室):专业:年级:实验课程:Java语言程序设计姓名:学号:实验室号:计算机号:实验时间:指导教师签字:成绩:实验2一、实验目的1.掌握声明二维数组变量,创建二维数组对象,使用二维数组解决实际问题。
2.使用构造方法创建对象,通过对象引用变量访问对象,。
3.封装数据域以便于类的维护。
二、实验要求1.(7.6)编写两个矩阵相乘的方法。
方法头如下:public static double[][] multiplyMatrix(double[][] a, double[][] b)为了是矩阵a能够和矩阵b相乘,矩阵a的列数必须与矩阵b的行数相同。
假设矩阵c是相乘的结果,而a的列数是n,那么每个元素c ij=a i1* b1j + a i2 * b2j+ …+ a in * b nj。
例如,对于两个3×3的矩阵a和b,c有:编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示他们的2.(8.1)创建一个名为Rectangle的类表示矩形,这个类包括:●两个名为width和height的double型数据域,它们分别表示矩形的宽和高。
width和height的默认值都为1。
●创建默认矩形的无参构造方法:Rectangle()。
●一个创建width和height为指定值的矩形的构造方法:Rectangle(double width, double height)。
●一个名为getWidth()的方法返回宽。
●一个名为getHeight()的方法返回高。
●一个名为getArea()的方法返回这个矩形的面积。
●一个名为getPerimeter()的方法返回周长。
实现这个类,编写一个测试程序,提示用户输入两个矩形,创建两个Rectangle对象,然后显示矩形的宽,高,面积和周长。
三、实验原理1.本题通过编写Matrix类实现题目要求。
Matrix类包含三个方法:存储矩阵的方法:public static double[][] inputMatrix()用于打印矩阵的方法:public static double[][] outputMatrix(double[][] x),利用两个for循环来实现输出二维数组。
计算两个矩阵的乘积的方法:public static double[][] multiplyMatrix(double[][] a, double[][] b)根据线性代数的知识,抽象出程序的实现公式:re[i][j]=x1[i][0]*x2[0][j]+x1[i][1]*x2[1][j]+x1[i][2]*x2[2][j];两个for循环嵌套,就可以计算出矩阵并且把值保存在新的矩阵re里面,返回。
2.本题用过编写getWidth(double width, double height)方法和getHeight(double width, double height) 方法来获取生成矩阵的长和宽。
编写getArea(double width, double height) 方法和getPerimeter(double width, double height) 方法计算矩阵的面积与周长,最后通过Rectangle()方法和Rectangle(double width, double height) 方法显示矩阵的相关数据完成题目要求。
四、实验环境1. 硬件:PC机;2. 软件:Windows操作系统、。
五、算法描述及实验步骤六、调试过程本次试验中未遇到调试问题。
七、实验结果1.2.七、总结通过本次实验熟悉了二维数组的使用和类的构造,进一步熟悉了Java代码的编写,增加了动手能力。
附录:1.import java.util.Scanner;public class Matrix {public static double[][] outputMatrix(double[][] x){int i,j;for(i=0;i<3;i++){for(j=0;j<3;j++){System.out.print(x[i][j]+" ");}System.out.println();}return x;}public static double[][] inputMatrix(){Scanner input = new Scanner(System.in);double[][] x = new double[3][3];int i,j;for(i=0;i<3;i++){for(j=0;j<3;j++){x[i][j]=input.nextDouble();}}return x;}public static double[][] multiplyMatrix(double[][] a, double[][] b){ double[][] c = new double[3][3];int i,j;for(i=0;i<3;i++){for(j=0;j<3;j++){c[i][j]=a[i][0]*b[0][j]+a[i][1]*b[1][j]+a[i][2]*b[2][j];}}return c;}public static void main(String[] args){double[][] a = new double[9][9];double[][] b = new double[9][9];double[][] c = new double[9][9];int i,j,k;System.out.print("Enter matrix1(3-by-3):");a=inputMatrix();System.out.print("Enter matrix2(3-by-3):");b=inputMatrix();c=multiplyMatrix(a,b);System.out.println("Matrix1:");outputMatrix(a);System.out.println("Matrix2:");outputMatrix(b);System.out.println("The result of multiplication is");outputMatrix(c);}}2.import java.util.Scanner;public class Rectangle {public static double Rectangle(){double width=1;double height=1;System.out.println("A rectangle created with width " + getWidth(width,height) + " and height " + getHeight(width,height));System.out.println("The area is " + getArea(width,height));System.out.println("The perimeter is " +getPerimeter(width,height));return 0;}public static double Rectangle(double width, double height){ System.out.println("A rectangle created with width " + getWidth(width,height) + " and height " + getHeight(width,height));System.out.println("The area is " + getArea(width,height));System.out.println("The perimeter is " +getPerimeter(width,height));return 0;}public static double getWidth(double width, double height){ return width;}public static double getHeight(double width, double height){ return height;}public static double getArea(double width, double height){ return width*height;}public static double getPerimeter(double width, double height){ return (width+height)*2;}public static void main(String[] args){double width1,height1,width2,height2;Scanner input = new Scanner(System.in);System.out.print("Enter rectangle1:");width1 = input.nextDouble();height1 = input.nextDouble();System.out.print("Enter rectangle2:");width2 = input.nextDouble();height2 = input.nextDouble();Rectangle(width1,height1);Rectangle(width2,height2);}}。