JAVA语言与面向对象程序设计课后习题答案
面向对象程序设计课后答案(完整版)
面向对象程序设计课后答案(完整版)第二章2-4#includeusing namespace std;Add(int a,int b);int main(){int x,y,sum;cout>x>>y;sum = add(x,y);cout >*p;p++;}p = p-20;for( i=0;i0) countp++;if(*p>age ;try{checkagescore(name,age);}catch( string){cout<<"exception :name is exit"<<endl;continue;}catch(int){cout<<"exception :age is not proper"<<endl;continue;}cout<<"name:"<<name<<" age :"< }return 0;}第三章3-1(1)A (2)C (3)B (4)C (5)C(6)B (7)B (8)C (9)C3-7(1)main()函数中p1.age = 30;语句是错误的。
age 是类的私有成员(2)构造函数应当给常数据成员和引用成员初始化,将构造函数改为:A(int a1,int b1):a(a1),b(b1){}或A(int a1 ):a(a1),b(a){}再将main中的A a(1,2); 改为A a(1);(3)(1)在Test 类中添加语句:void print();void Print(){cout<<x<<"-"<<y<<"="<<x-y<<endl;}改为void Test::Print(){cout<<x<<"-"<<y<<"="<<x-y<<endl;}main函数中Init(38,15);改为:A.Init(38,15);Print();改为:A.Print();3-8(1)Constructing AConstructing BDestructing BDestructing A(2)double a,double bpoint & pp.x3-9class box{int len1,len2,len3;public:box(int l1,int l2,int l3){len1 = l1;len2 = l2; len3 = l3;} long volumn(){return len1*len2*len3;}};3-10class Test{int m1,m2;public:void Init(int a,int b){m1 = a;m2 = b;}void Pring(){cout<<m1<<" "<<m2<<endl;}};3-11略3-12}第四章4-6(1)D (2)D (3)D (4)D (5)B(6)D4-7(1)static int count = 0;这样初始化静态成员值是不对的将其改为static int count;在类外,main函数前加int Sample::count = 0;(2)#include//#includeusing namespace std;class Ctest{private:int x; const int y1;public:const int y2;Ctest(int i1,int i2):y1(i1),y2(i2) {y1 =10;//y1 为常量不能赋值x = y1;}int readme() const;};int Ctest::readme ()const{int i;i = x;x++; //常函数内不能改变成员值return x;}int main(){Ctest c(2,8);int i = c.y2;c.y2 = i;//y2为常量,不能改值i = c.y1;//y1私有,类外不能访问return 0;}将出错语句全部注释4-8(1)题中印刷错误,将class C构造函数改为: C(){cout<<"constructor C:";}运行结果为:constructor Aconstructor Bconstructor C(2)40(3)3434-9#include#includeclass Date{int year;int month;int day;public:Date(int y,int m,int d){year=y;month=m;day=d;}void disp(){cout<<year<<" "<<month<<" "<<day<<endl;}friend int count_day(Date &d,int k);friend int l(int year);friend int h(Date &d1,Date &d2);};int count_day(Date &d,int k){static int day_tab[2][12]={{31,28,31,30,31,30,31,31,30,31,30,3 1},{31,29,31,30,31,30,31,31,30,31,30,31}};// 使用二维数组存放各月天数,第一行对应非闰年,第二行对应闰年int j,i,s;if(l(d.year))j=1;//闰年,取1else j=0;//非闰年,取0if(k)//K非0时{s=d.day;for(i=1;i<d.month;i++)//d.month为输入的月份s+=day_tab[j][i-1];}else//K为0时{s=day_tab[j][d.month]-d.day;for(i=d.month+1; i<=12; i++)s+=day_tab[j][i-1];}return s;//S为相差的天数}int l(int year){if(year%4==0&&year%100!=0||year%400==0) // 是闰年return 1;else // 不是闰年return 0;}int h(Date &d1,Date &d2){int days,day1,day2,y;if(d1.year<d2.year)//第一个日期年份小于第二个日期年份{days=count_day(d1,0);for(y=d1.year+1;y<d2.year;y++)if(l(y))//闰年。
面向对象程序设计课后习题答案
第一章:面向对象程序设计概述[1_1]什么是面向对象程序设计?面向对彖程序设计是一种新型的程序设计范型。
这种范型的主要特征是:程序=对象+消息。
面向对彖程序的基本元素是对象,面向对象程序的主要结构特点是:第一:程序一般由类的定义和类的使用两部分组成,在主程序中定义各对彖并规定它们之间传递消息的规律。
第二: 程序中的一切操作都是通过向对彖发送消息来实现的,对彖接受到消息后,启动有关方法完成相应的操作。
面向对彖程序设计方法模拟人类习惯的解题方法,代表了计算机程序设计新颖的思维方式。
这种方法的提出是软件开发方法的一场革命,是目前解决软件开发面临困难的最有希塑、最有前途的方法之一。
[1_2]什么是类?什么是对象?对象与类的关系是什么?在面向对彖程序设计中,对彖是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。
对象可以认为是:数据+操作在面向对彖程序设计中,类就是具有相同的数据和相同的操作的一组对彖的集合,也就是说, 类是对具有相同数据结构和相同操作的一类对彖的描述。
类和对彖之间的关系是抽象和具体的关系。
类是多个对彖进行综合抽象的结果,一个对象是类的一个实例。
在面向对彖程序设计中,总是先声明类,再由类生成对象。
类是建立对彖的“摸板”,按照这个摸板所建立的一个个具体的对象,就是类的实际例子,通常称为实例。
[1_3]现实世界中的对象有哪些特征?请举例说明。
对彖是现实世界中的一个实体,其具有以下一些特征:(1)每一个对彖必须有一个名字以区别于其他对彖。
(2)需要用属性来描述它的某些特性。
(3)有一组操作,每一个操作决定了对象的一种行为。
(4)对彖的操作可以分为两类:一类是自身所承受的操作,一类是施加于其他对象的操作。
例如:雇员刘名是一个对象对象名:刘名对象的属性:年龄:36生口:1966.10.1工资:2000部门:人爭部对象的操作:吃饭开车[1_4]什么是消息?消息具有什么性质?在面向对彖程序设计中,一个对象向另一个对象发出的请求被称为“消息”。
面向对象程序设计java程序设计课后习题答案
第一章1.public class BegintoLearn{public static void main(String args[]) {System.out.println("I’d like to study Java ! ");}}2.public class TraStar{public static void main(String args[]) {System.out.println("*");System.out.println("* *");System.out.println("* * *");System.out.println("* * * *");System.out.println("* * * * *");}}第二章1.public class ProNum{public static void main(String args[]) {float p;long q;int m=10,n=5;System.out.println("m="+m+" n="+n);m=m+3;n=n+5;System.out.println("m="+m+" n="+n);p=(float)(m+n)/2;System.out.println("p="+p);q=(m*m*n*n);System.out.println("q="+q);}}2.class SphereClass {public static void main(String args[]) {int r=3;double v;v=3.14*r*r*r*4/3;System.out.println("V="+v)}}第三章1. import java.io.*;public class InNum{public static void main(String args[]) throws IOException{ int num1,num2;String str;BufferedReader buf;buf=new BufferedReader(new InputStreamReader(System.in));System.out.print("Input first integer:");str=buf.readLine();num1=Integer.parseInt(str);System.out.print("Input second integer:");str=buf.readLine();num2=Integer.parseInt(str);System.out.println("The sum is "+(num1+num2));}}2.import java.io.*;public class Grade{public static void main(String args[]) throws IOException{ int score;char ch;String str;BufferedReader buf;buf=new BufferedReader(new InputStreamReader(System.in));System.out.print("Input the score(0-100):");str=buf.readLine();score=Integer.parseInt(str);if (score>=90)ch='A';else if (score>=75)ch='B';else if (score>=60)ch='C';elsech='D';System.out.print("The Grade is "+ch);}}3.public class ShuLie{public static void main(String args[]){int a ,q ,n;q=(150-135)/5;a=(135-20*q)/5;for (n=0;n<10;n++)System.out.print((a+n*q)+" ");}}4.public class Pyramid{public static void main(String args[]){int i,j,k;for(i=0;i<=4;i++){for ( j=0;j<20-i;j++)System.out.print(" ");for (k=0;k<=2*i;k++)if (k<=i)System.out.print(" "+(2*k+1));elseSystem.out.print(" "+(2*(2*i-k)+1));System.out.println();}}}5.import java.io.*;public class PrimeNumber{public static void main(String args[]) throws IOException{ int n=0;int m;String str;boolean mark=false;BufferedReader buf;buf=new BufferedReader(new InputStreamReader(System.in));System.out.print("Input the m:");str=buf.readLine();m=Integer.parseInt(str);for(int i=3;i<=m;i+=2){for(int j=2;j<i;j++){if(i%j==0){mark=true;break;}}if (!mark){System.out.print(" "+i);n++; //outputanewlineif(n%10==0) //after10numbersSystem.out.println();}mark=false;}System.out.println();}}6.import java.io.*;public class Factor12{public static void main(String args[]) throws IOException{ int m;String str;BufferedReader buf;buf=new BufferedReader(new InputStreamReader(System.in));System.out.print("Input the m:");str=buf.readLine();m=Integer.parseInt(str);System.out.print(m+"\'s factors are: ");System.out.println( );for(int i=1;i<=m;i++)if (m%i==0)System.out.print(" "+i);}}7.public class MSteel{public static void main(String args[]){int d=0;float m=2000;while (m>=5) {m=m/2;d++;System.out.print(d+": ");System.out.println(m);}System.out.print("You need "+d+" days");}}8.public class AlmostPi{public static void main(String args[]){int n;long m;double s,t;n=1;m=0;s=0;do{t=(double)n/(2*m+1);m++;n=-n;s=s+t;} while (4*s-3.14159> 0.0000001 || 4*s-3.14159< -0.0000001);System.out.println(m);}}9.public class LSRnd{public static void main(String args[]){int mun,n,max1,min1;max1=0;min1=100;for (n=1;n<=10;n++){mun=(int)(100*Math.random());System.out.print(mun+" ");if (mun>max1)max1=mun;if (mun<min1)min1=mun;}System.out.println();System.out.println("The largest number is: "+max1);System.out.println("The smallest number is: "+min1);}}10.import java.io.*;public class StrArry{public static void main(String args[]) throws IOException{int m;String str;Stringmonth[]={"January","February","March","April","May","June","July","August","september","October","November","December"};BufferedReader buf;buf=new BufferedReader(new InputStreamReader(System.in));System.out.print("Input the m:");str=buf.readLine();m=Integer.parseInt(str);if (m>=1 && m<=12)System.out.println(month[m-1]);elseSystem.out.print("Your Input is wrong");}}第四章1.import java.util.*;public class Person{private String name;private char sex;private int year,month;public Person( ){}public Person(String nm,char sx,int y,int m) {name=nm;sex=sx;year=y;month=m;}public void printPerson( ) {Calendar now=Calendar.getInstance();int age=now.get(Calendar.YEAR)-year;System.out.println("Name: "+name+",Sex: "+sex+", Age: "+age);}public static void main(String args[]){Person pe1=new Person("Tom",'m',1980,10);pe1.printPerson();}}2.public class Rectangle{double width,length,girth,area;public Rectangle(){};public Rectangle(double wd,double le) {width=wd;length=le;}public void setWidth(double wd) {width=wd;}public void setLength(double le) {length=le;}public double getWidth( ) {return width;}public double getLength( ) {return length;}public double girth(){return 2*(width+length);}public double area(){return width*length;}public void printRectangle(){System.out.println("Width="+width+" ,Length="+length);}public static void main(String args[]){Rectangle re1=new Rectangle(10,20);Rectangle re2=new Rectangle();re2.setWidth(3);re2.setLength(4);re1.printRectangle();System.out.println("Girth="+re1.girth()+",Area="+re1.area());re2.printRectangle();System.out.println("Girth="+re2.girth()+",Area="+re2.area());}}3.public class Matrix{ private int mx[][],m,n; public Matrix(int r,int c) { m=r;n=c;mx=new int[m][n];iniMatrix();}public Matrix(){m=3;n=3;mx=new int[3][3];iniMatrix();}public void iniMatrix(){ int i,j;for(i=0;i<=m-1;i++)for(j=0;j<=n-1;j++)mx[i][j]=(int)(Math.random()*100); }public void tranMatrix(){int i,j,t;int mt[][]=new int[m][n];for(i=0;i<=m-1;i++)for(j=0;j<=n-1;j++)mt[i][j]=mx[i][j];t=m;m=n;n=t;mx=new int[m][n];for(i=0;i<=m-1;i++)for(j=0;j<=n-1;j++)mx[i][j]=mt[j][i];}public void printMatrix(){int i,j;for(i=0;i<=m-1;i++){for(j=0;j<=n-1;j++)System.out.print(" "+mx[i][j]);System.out.println();}}public void addMatrix(Matrix b) {int i,j;for(i=0;i<=m-1;i++)for(j=0;j<=n-1;j++)mx[i][j]=mx[i][j]+b.mx[i][j];} public static void main(String args[]){Matrix ma=new Matrix(4,3);Matrix mb=new Matrix(4,3);System.out.println("The matrix_A:"); ma.printMatrix();System.out.println("The matrix_B:"); mb.printMatrix();System.out.println("Matrix_A +Matrix_B:");ma.addMatrix(mb);ma.printMatrix();System.out.println("Transpose Matrix_B:");mb.tranMatrix();mb.printMatrix();}}4.public class Substring{public static void main(String args[]){String str1=new String("addActionListener");String str2=new String("Action");int n;n=str1.indexOf(str2);if(n>=0){System.out.println("String_2 is in String_1");System.out.println("The substring before String_2 is "+str1.substring(0,n));System.out.println("The substring behind String_2 is "+str1.substring(n+str2.length( )));}}} 五、写出程序运行后的结果1. 2.。
Java面向对象程序设计课后习题参考答案
public class San_4 {// 编写一个应用程序求1!+2!+ (20)/*** @param args//本题考查对循环的运用和对算法的编写*/public static void main(String[] args) {// TODO Auto-generated method stubint a;double b = 1, sum = 0;// 定义变量for (a = 1; a <= 20; a++) {// for循环实现该功能b = b * a;// 当a=1时,b=b*a=1,依此类推sum = sum + b;// 当a=1时,sum=sum+b=1,依次类推}for (int w = 1; w <= 19; w++) {// for循环打印出阶乘之和的形式来System.out.print(w + "!" + "+");}System.out.println("20!" + "=" + sum);// 最终输出阶乘之和double sum1 = 0, a1 = 1;int i = 1;while (i <= 20)// 用while循环实现该功能{sum1 = sum1 + a1;i++;a1 = a1 * i;}System.out.println("sum1=" + sum1);}}输出结果:1!+2!+3!+4!+5!+6!+7!+8!+9!+10!+11!+12!+13!+14!+15!+16!+17!+18!+19!+20!=2.18203E18sum1=2.18203E18习题3_5public class San_5 {// 求100以内的素数/*** @param args//本题考查对for循环、break语句、if语句的运用*/public static void main(String[] args) {// TODO Auto-generated method stubint i, j;for (i = 2; i <= 100; i++) {// for循环从2开始,逐渐增1for (j = 2; j <= i / 2; j++) {// for循环从2开始,逐步增1if (i % j == 0) {// 如果i除以j的余数为0,则终止本次for循环break;}}if (j > i / 2) {// 如果j>i/2,输出iSystem.out.print(" " + i);}}}}2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 8389 97习题3_6public class San_6 {// 分别用while和for循环计算1+1/2!+1/3!+1/4!...的前20项和/*** @param args//本题考查同学们对while循环、for循环以及对输出字符串格式的运用 */public static void main(String[] args) {// TODO Auto-generated method stubint i = 1, k;double j = 1, m = 1, sum1 = 0, sum2 = 0;while (i <= 20) {// 用while循环实现sum1 = sum1 + j;i++;j = j * (1.0 / i);}System.out.print("1+");for (int r = 2; r <= 19; r++) {System.out.print("1/" + r + "!" + "+");}System.out.print("1/20!" + "=" + sum1);System.out.println();System.out.print("1+");for (int r = 2; r <= 19; r++) {System.out.print("1/" + r + "!" + "+");}for (k = 1; k <= 20; k++) {// 用for循环实现m *= (1.0 / k);sum2 += m;}System.out.println("1/20!" + "=" + sum2);}}计算结果:1+1/2!+1/3!+1/4!+1/5!+1/6!+1/7!+1/8!+1/9!+1/10!+1/11!+1/12!+1/13!+1/14!+1/15!+1/16!+1/17!+1/18!+1/19!+1/20!=1.904551+1/2!+1/3!+1/4!+1/5!+1/6!+1/7!+1/8!+1/9!+1/10!+1/11!+1/12!+1/13!+1/14!+1/15!+1/16!+1/17!+1/18!+1/19!+1/20!=1.90455习题3_7public class San_7 {// 一个数如果恰好等于它的因子之和,这个数就成为”完数“。
java面向对象程序设计 习题答案
java面向对象程序设计习题答案Java面向对象程序设计习题答案Java是一种广泛应用于软件开发的编程语言,而面向对象程序设计(Object-Oriented Programming,简称OOP)则是一种常用的编程范式。
在学习Java的过程中,习题是非常重要的一部分,通过解答习题可以帮助我们巩固所学的知识,并提升编程能力。
本文将为大家提供一些Java面向对象程序设计习题的答案,希望能对大家的学习有所帮助。
1. 编写一个Java类,实现一个简单的计算器功能。
该计算器应该具有加、减、乘、除四种基本运算功能,并能够接受用户输入的两个操作数和运算符。
在计算结果后,将结果输出给用户。
```javaimport java.util.Scanner;public class Calculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入第一个操作数:");double num1 = scanner.nextDouble();System.out.print("请输入第二个操作数:");double num2 = scanner.nextDouble();System.out.print("请输入运算符(+、-、*、/):"); String operator = scanner.next();double result = 0;switch (operator) {case "+":result = num1 + num2;break;case "-":result = num1 - num2;break;case "*":result = num1 * num2;break;case "/":result = num1 / num2;break;default:System.out.println("无效的运算符!");return;}System.out.println("计算结果为:" + result);}}```2. 编写一个Java类,实现一个简单的学生管理系统。
Java面向对象程序设计教程课后答案
Java面向对象程序设计教程课后答案第1章Java 概述1.Java具有那些适合在Internet环境中的特点?【答】简单性和完全面向对象,平台无关性,安全性和可靠性,多线程,高效的网络编程。
2.Java保留、放弃了C/C++语言中哪些语法和面向对象机制?为什么需要这样做?【答】在语法规则方面,Java语言放弃了全程变量、goto语句、宏定义、全局函数以及结构、联合和指针数据类型,使Java语言更简单、更精练。
在面向对象概念方面,Java语言放弃了多元继承、友元类和运算符重载,采用“单重继承+接口”的方式代替多重继承,提供语言级的内存自动管理和异常处理方式,使Java语言更健壮、更安全、更高效。
3.Java对原程序文件的命名规则有什么要求?源程序文件编译后生成什么文件?【答】要求:源程序文件与类同名,文件扩展名为.java;编译后生成字节码文件(*.class)。
4.Java程序的运行机制是怎样的?与C++或其他语言有什么不同?【答】Java的每一个类都有一个class文件和它对应,Java在程序的启动的时候将程序运行需要用到的类加载到虚拟机中,根据Java 的虚拟机规范进行连接(动态连接),程序的组装是在运行的时候完成的C++和其他的编译型的语言一样,它的程序的组装方式是一种传统的组装方式。
C++在编译的时候生成适用于某一平台的二进制代码,在连接的时候找到需要调用的库,然后将这些库中的代码连接进可执行程序之中,生成的可执行程序运行速度非常的快,但是可执行代码已经变成了一个整体,不可能再分开5.什么是平台无关性?Java是怎样实现平台无关性的?【答】平台无关性即Java程序的运行不依赖于操作系统。
Java采用虚拟机技术实现平台无关性。
程序由虚拟机解释执行,不同的操作系统上运行不同版本的Java虚拟机。
6.Java应用程序由哪两种形式?他们的运行方式有什么不同?【答】Application和applet两种形式,其中application是能够独立运行的应用程序,既可以以DOS的命令方式运行,也可以以图形用户界面方式运行。
(完整word版)java面向对象程序设计课后习题答案联祥义
习题11.James Gosling2.(1)使用一个文本编辑器编写源文件。
(2)使用Java编译器(javac。
exe)编译Java源程序,得到字节码文件.(3)使用Java解释器(java。
exe)运行Java程序3.Java的源文件是由若干个书写形式互相独立的类组成的。
应用程序中可以没有public类,若有的话至多可以有一个public类。
4.系统环境path D\jdk\bin;系统环境classpath D\jdk\jre\lib\rt。
jar;。
;5.B6.Java源文件的扩展名是.java。
Java字节码的扩展名是。
class。
7.D8.(1)Speak.java(2)生成两个字节码文件,这些字节码文件的名字Speak.class 和Xiti8。
class(3)java Xiti8(4)执行java Speak的错误提示Exception in thread ”main” java。
lang.NoSuchMethodError: main 执行java xiti8得到的错误提示Exception in thread "main” java。
lang.NoClassDefFoundError:xiti8 (wrong name: Xiti8)执行java Xiti8。
class得到的错误提示Exception in thread ”main” ng.NoClassDefFoundError:Xiti8/class执行java Xiti8得到的输出结果I’m glad to meet you习题21.D2.【代码1】【代码2】错误//【代码3】更正为float z=6.89F; 3.float型常量后面必须要有后缀“f"或“F”。
对于double常量,后面可以有后缀“d”或“D”,但允许省略该后缀。
4.public class Xiti4{public static void main (String args[ ]){char ch1=’你',ch2=’我',ch3='他';System.out.println(”\”"+ch1+"\”的位置:"+(int)ch1);System。
面向对象程序设计课后习题答案
面向对象程序设计课后习题答案第一章:面向对象程序设计概述[1_1]什么是面向对象程序设计?面向对象程序设计是一种新型的程序设计范型。
这种范型的主要特征是:程序=对象+消息。
面向对象程序的基本元素是对象,面向对象程序的主要结构特点是:第一:程序一般类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律。
第二:程序中的一切操作都是通过向对象发送消息来实现的,对象接受到消息后,启动有关方法完成相应的操作。
面向对象程序设计方法模拟人类习惯的解题方法,代表了计算机程序设计新颖的思维方式。
这种方法的提出是软件开发方法的一场革命,是目前解决软件开发面临困难的最有希望、最有前途的方法之一。
[1_2]什么是类?什么是对象?对象与类的关系是什么?在面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。
对象可以认为是:数据+操作在面向对象程序设计中,类就是具有相同的数据和相同的操作的一组对象的集合,也就是说,类是对具有相同数据结构和相同操作的一类对象的描述。
类和对象之间的关系是抽象和具体的关系。
类是多个对象进行综合抽象的结果,一个对象是类的一个实例。
在面向对象程序设计中,总是先声明类,再类生成对象。
类是建立对象的“摸板”,按照这个摸板所建立的一个个具体的对象,就是类的实际例子,通常称为实例。
[1_3]现实世界中的对象有哪些特征?请举例说明。
对象是现实世界中的一个实体,其具有以下一些特征:每一个对象必须有一个名字以区别于其他对象。
需要用属性来描述它的某些特性。
有一组操作,每一个操作决定了对象的一种行为。
对象的操作可以分为两类:一类是自身所承受的操作,一类是施加于其他对象的操作。
例如:雇员刘名是一个对象对象名:刘名对象的属性:年龄:36 生日:工资:2000 部门:人事部对象的操作:吃饭开车[1_4]什么是消息?消息具有什么性质?在面向对象程序设计中,一个对象向另一个对象发出的请求被称为“消息”。
java面向对象程序设计课后习题答案耿祥义张跃平主编清华大学出版社
习题解答习题11.James Gosling2.需3个步骤:1)用文本编辑器编写源文件.2)使用javac编译源文件,得到字节码文件.3)使用解释器运行程序。
3.由类构成。
不就是必须得。
4. path=D:\jdk\bin;set classpath=D:\jdk\jre\lib\rt、jar;、;5、B6、Java源文件得扩展名就是、java,Java字节码得扩展名就是、class.7。
D。
8. A:Speak、java.B:两个字节码文件,Speak、class与Xiti8、class。
C:java Xiti8。
D:执行java Speak得错误提示Exception in thread "main" java、lang、NoSuchMethodError:main执行javaxiti8得到得错误提示Exception in thread "main"java、lang、NoClassDefFoundError:xiti8(wrong name:Xiti8)执行javaXiti8、class得到得错误提示Exception in thread"main" java、lang、NoClassDefFoundErr or:Xiti8/class执行java Xiti8得到得输出结果I’m glad to meet you(4)9。
属于操作题,解答略。
习题21. D2.【代码1】【代码2】错误//【代码3】更正为float z=6.89F;3。
float型常量后面必须要有后缀“f”或“F”。
对于double常量,后面可以有后缀“d”或“D”,但允许省略该后缀。
4.public class Xiti4{public static void main (String args[ ]){char ch1='您’,ch2='我’,ch3=’她’;System、out、println(”\”"+ch1+"\"得位置:"+(int)ch1);System、out、println(”\”"+ch2+"\”得位置:"+(int)ch2);System、out、println(”\""+ch3+”\"得位置:"+(int)ch3);}}5.数组名字、length6.数组名字、length7.【代码1】A,65【代码2】-127【代码3】123456、783,123456、783128。
java面向对象程序设计课后习题答案
java面向对象程序设计课后习题答案Java面向对象程序设计课后习题答案在学习Java面向对象程序设计课程时,课后习题是巩固知识、提高能力的重要方式。
通过完成习题,我们可以加深对Java面向对象编程的理解,掌握相关知识和技能。
下面就让我们来看一些常见的Java面向对象程序设计课后习题答案。
1. 编写一个Java程序,实现一个简单的学生类,包括学生的姓名、年龄、性别等属性,以及学生的基本操作方法(比如说,设置姓名、获取年龄等)。
这个习题可以让我们练习如何定义类、属性和方法,以及如何使用类的实例。
```javapublic class Student {private String name;private int age;private String gender;public void setName(String name) { = name;}public String getName() {return name;}public void setAge(int age) {this.age = age;}public int getAge() {return age;}public void setGender(String gender) {this.gender = gender;}public String getGender() {return gender;}}```2. 编写一个Java程序,实现一个简单的图书类,包括图书的名称、作者、价格等属性,以及图书的基本操作方法(比如说,设置价格、获取作者等)。
这个习题可以让我们练习如何定义类、属性和方法,以及如何使用类的实例。
```javapublic class Book {private String title;private String author;private double price;public void setTitle(String title) {this.title = title;}public String getTitle() {return title;}public void setAuthor(String author) {this.author = author;}public String getAuthor() {return author;}public void setPrice(double price) {this.price = price;}public double getPrice() {return price;}}```通过完成这些习题,我们可以逐渐掌握Java面向对象程序设计的基本原理和技巧,为以后的学习和实践打下坚实的基础。
《Java面向对象程序设计》(第2版)课后答案
Java面向对象程序设计(编著耿祥义张跃平)习题11.James Gosling2.(1)使用一个文本编辑器编写源文件。
(2)使用Java编译器(javac.exe)编译Java源程序,得到字节码文件。
(3)使用Java解释器(java.exe)运行Java程序3.Java的源文件是由若干个书写形式互相独立的类组成的。
应用程序中可以没有public类,若有的话至多可以有一个public类。
4.系统环境path D\jdk\bin;系统环境classpath D\jdk\jre\lib\rt.jar;.;5. B6. Java源文件的扩展名是.java。
Java字节码的扩展名是.class。
7. D8.(1)Speak.java(2)生成两个字节码文件,这些字节码文件的名字Speak.class 和 Xiti8.class (3)java Xiti8(4)执行java Speak的错误提示Exception in thread "main" ng.NoSuchMethodError: main执行java xiti8得到的错误提示Exception in thread "main" ng.NoClassDefFoundError: xiti8 (wrong name: Xiti8) 执行java Xiti8.class得到的错误提示Exception in thread "main" ng.NoClassDefFoundError: Xiti8/class执行java Xiti8得到的输出结果I'm glad to meet you9.属于操作题,解答略。
习题21. D2.【代码1】【代码2】错误 //【代码3】更正为 float z=6.89F;3.float型常量后面必须要有后缀“f”或“F”。
对于double常量,后面可以有后缀“d”或“D”,但允许省略该后缀。
《面向对象编程与设计(Java)》课后作业及参考解答
《面向对象编程与设计(Java)》课后作业及参考解答《面向对象编程与设计(Java)》课后作业及参考解答1.1.1第一周课程(9月4日)的课后作业及参考解答1、请用Java程序示例说明什么是面向过程的程序设计方法、什么是面向对象的程序设计方法?面向过程就是分析出所需要开发的应用的系统在解决某个问题时所需要的步骤和工作流程,然后用代码(当然应该把这些代码设计为各个函数或者过程)来表示这些步骤的具体实现——面向过程是以过程为中心的编程思想。
而面向对象是把构成问题的各个方面分解成各个对象,并用代码来实现对象之间的交互——面向对象是以事物为中心的编程思想。
(1)面向过程程序设计方法的示例#include "stdio.h"int add(int a, int b){//对数据的操作(方法或者函数)return a+b;}int main(){//数据(属性或者状态)int x=1, y=1;int sum=add(x,y);print("Sum=%d",sum);}面向过程程序的程序中的数据与方法是相互分离的!而面向对象程序中的数据与方法是相互组合在一起的。
当数据(也就是问题的属性或者状态)发生变化,需要修改大量的关联的方法的程序模块。
(2)面向对象程序设计方法的示例import java.io.*;public class Add{//数据(属性或者状态)private int sum;public int add(int a, int b){//对数据的操作(方法或者函数)sum=a+b;return sum;}public void showSum() {//对数据的操作(方法或者函数)System.out.println("Sum="+sum);}public static void main(String args[]){Add oneAdd=new Add();oneAdd.add(1,2);oneAdd.showSum();}}2、谈谈你对开源的理解(可以是任何方面的主题),你熟悉J2EE平台中的哪些开源框架、对这些开源框架的熟悉程度怎样(包括在项目中的具体应用)(1)开源软件1)开源软件一定是源代码开放,任何人可以免费使用,任何人可以再开发;2)开源同时也是一种商业运营手段,软件免费提供但服务收费。
java面向对象程序设计课后习题答案耿祥义张跃平主编清华大学出版社
习题解答习题11.James Gosling2.需3个步骤:1)用文本编辑器编写源文件.2)使用javac编译源文件,得到字节码文件.3)使用解释器运行程序。
3.由类构成。
不就是必须得。
4. path=D:\jdk\bin;set classpath=D:\jdk\jre\lib\rt、jar;、;5、B6、Java源文件得扩展名就是、java,Java字节码得扩展名就是、class.7。
D。
8. A:Speak、java.B:两个字节码文件,Speak、class与Xiti8、class。
C:java Xiti8。
D:执行java Speak得错误提示Exception in thread "main" java、lang、NoSuchMethodError:main执行javaxiti8得到得错误提示Exception in thread "main"java、lang、NoClassDefFoundError:xiti8(wrong name:Xiti8)执行javaXiti8、class得到得错误提示Exception in thread"main" java、lang、NoClassDefFoundErr or:Xiti8/class执行java Xiti8得到得输出结果I’m glad to meet you(4)9。
属于操作题,解答略。
习题21. D2.【代码1】【代码2】错误//【代码3】更正为float z=6.89F;3。
float型常量后面必须要有后缀“f”或“F”。
对于double常量,后面可以有后缀“d”或“D”,但允许省略该后缀。
4.public class Xiti4{public static void main (String args[ ]){char ch1='您’,ch2='我’,ch3=’她’;System、out、println(”\”"+ch1+"\"得位置:"+(int)ch1);System、out、println(”\”"+ch2+"\”得位置:"+(int)ch2);System、out、println(”\""+ch3+”\"得位置:"+(int)ch3);}}5.数组名字、length6.数组名字、length7.【代码1】A,65【代码2】-127【代码3】123456、783,123456、783128。
java面向对象程序设计习题答案
java面向对象程序设计习题答案Java面向对象程序设计习题答案习题一:定义一个类问题描述:定义一个名为`Person`的类,包含姓名(name)、年龄(age)和性别(gender)属性,以及构造方法和相应的getters和setters方法。
答案:```javapublic class Person {private String name;private int age;private String gender;public Person(String name, int age, String gender) { = name;this.age = age;this.gender = gender;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}}```习题二:继承与多态问题描述:创建一个名为`Student`的类,继承自`Person`类,并添加一个名为`studentId`的属性。
重写`toString()`方法,以显示学生的详细信息。
答案:```javapublic class Student extends Person {private String studentId;public Student(String name, int age, String gender, String studentId) {super(name, age, gender);this.studentId = studentId;}public String getStudentId() {return studentId;}public void setStudentId(String studentId) {this.studentId = studentId;}@Overridepublic String toString() {return "Student{" +"name='" + getName() + '\'' +", age=" + getAge() +", gender='" + getGender() + '\'' +", studentId='" + studentId + '\'' +'}';}}```习题三:封装与隐藏问题描述:创建一个名为`BankAccount`的类,包含账户ID (accountId)、账户余额(balance)和账户类型(accountType)。
JAVA语言与面向对象程序设计课后习题答案
第1章面向对象软件开发概述1.简述面向过程问题求解和面向对象问题求解的异同。
试列举出面向对象和面向过程的编程语言各两种。
答:面向过程问题求解,以具体的解题过程为研究和实现的主体,其思维特点更接近于计算机;面向对象的问题求解,则是以“对象”为主体,“对象”是现实世界的实体或概念在计算机逻辑中的抽象表示,更接近于人的思维特点。
面向过程的编程语言:C,Pascal,Foratn。
面向对象的编程语言:C++,Java,C#。
2.简述对象、类和实体及它们之间的相互关系。
尝试从日常接触到的人或物中抽象出对象的概念。
答:面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。
类是同种对象的集合与抽象。
类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。
如果类是抽象的概念,如“电视机”,那么对象就是某一个具体的电视机,如“我家那台电视机”。
3.对象有哪些属性?什么是状态?什么是行为?二者之间有何关系?设有对象“学生”,试为这个对象设计状态与行为。
答:对象都具有状态和行为。
对象的状态又称为对象的静态属性,主要指对象内部所包含的各种信息,也就是变量。
每个对象个体都具有自己专有的内部变量,这些变量的值标明了对象所处的状态。
行为又称为对象的操作,它主要表述对象的动态属性,操作的作用是设置或改变对象的状态。
学生的状态:姓名、性别、年龄、所在学校、所在系别、通讯地址、电话号码、入学成绩等;学生的行为:自我介绍、入学注册、选课、参加比赛等。
4.对象间有哪三种关系?对象“班级”与对象“学生”是什么关系?对象“学生”与对象“大学生”是什么关系?答:对象间可能存在的关系有三种:包含、继承和关联。
对象“班级”与对象“学生”是包含关系。
对象“学生”与对象“大学生”是继承关系。
5.有人说“父母”和“子女”之间是继承的关系。
这种说法是否正确?为什么?答:“父母”和“子女”之间不是面向对象意义上的“继承”关系。
java面向对象程序设计课后习题答案耿祥义张跃平主编清华大学出版社
习题解答习题11.James Gosling2.需3个步骤:1)用文本编辑器编写源文件。
2)使用javac编译源文件,得到字节码文件。
3)使用解释器运行程序。
3.由类构成。
不就是必须的。
4. path=D:\jdk\bin;set classpath=D:\jdk\jre\lib\rt、jar;、;5、B6、Java源文件的扩展名就是、java,Java字节码的扩展名就是、class。
7.D。
8. A:Speak、java。
B:两个字节码文件,Speak、class与Xiti8、class。
C:java Xiti8。
D:执行java Speak的错误提示Exception in thread "main" java、lang、NoSuchMethodError: main 执行java xiti8得到的错误提示Exception in thread "main" java、lang、NoClassDefFoundError: xiti8 (wrong name: Xiti8) 执行java Xiti8、class得到的错误提示Exception in thread "main" java、lang、NoClassDefFoundError: Xiti8/class执行java Xiti8得到的输出结果I'm glad to meet you(4)9.属于操作题,解答略。
习题21. D2.【代码1】【代码2】错误//【代码3】更正为float z=6、89F;3.float型常量后面必须要有后缀“f”或“F”。
对于double常量,后面可以有后缀“d”或“D”,但允许省略该后缀。
4.public class Xiti4{public static void main (String args[ ]){char ch1='您',ch2='我',ch3='她';System、out、println("\""+ch1+"\"的位置:"+(int)ch1);System、out、println("\""+ch2+"\"的位置:"+(int)ch2);System、out、println("\""+ch3+"\"的位置:"+(int)ch3);}}5.数组名字、length6.数组名字、length7. 【代码1】A,65【代码2】-127【代码3】123456、783,123456、783128.【代码1】false【代码2】true【代码3】false【代码4】3【代码5】4、4【代码6】8、8习题31.输出110if-else语句书写的不够规范,复合语句缺少大括号“{}”,代码不够清晰。
java面向对象程序设计课后习题答案耿祥义张跃平主编清华大学出版社
习题解答习题11.James Gosling2.需3个步骤:1)用文本编辑器编写源文件。
2)利用javac编译源文件,取得字节码文件。
3)利用说明器运行程序。
3.由类组成。
不是必需的。
4.path=D:\jdk\bin;set classpath=D:\jdk\jre\lib\rt.jar;.;5.B6. Java源文件的扩展名是.java,Java字节码的扩展名是.class。
7.D。
8.A:Speak.java。
B:两个字节码文件,Speak.class和Xiti8.class。
C:java Xiti8。
D:执行java Speak的错误提示Exception in thread "main" ng.NoSuchMethodError: main 执行java xiti8取得的错误提示Exception in thread "main" ng.NoClassDefFoundError: xiti8 (wrong name: Xiti8) 执行java Xiti8.class取得的错误提示Exception in thread "main" ng.NoClassDefFoundError: Xiti8/class执行java Xiti8取得的输出结果I'm glad to meet you(4)9.属于操作题,解答略。
习题21. D2.【代码1】【代码2】错误//【代码3】更正为float z=6.89F;3.float型常量后面必需要有后缀“f”或“F”。
关于double常量,后面能够有后缀“d”或“D”,但许诺省略该后缀。
4.public class Xiti4{public static void main (String args[ ]){char ch1='你',ch2='我',ch3='他';System.out.println("\""+ch1+"\"的位置:"+(int)ch1);System.out.println("\""+ch2+"\"的位置:"+(int)ch2);System.out.println("\""+ch3+"\"的位置:"+(int)ch3);}}5.数组名字.length6.数组名字.length7.【代码1】A,65【代码2】-127【代码3】123456.783,123456.783128.【代码1】false【代码2】true【代码3】false【代码4】3【代码5】4.4【代码6】8.8习题31.输出110if-else语句书写的不够标准,复合语句缺少大括号“{}”,代码不够清楚。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章面向对象软件开发概述1.简述面向过程问题求解和面向对象问题求解的异同。
试列举出面向对象和面向过程的编程语言各两种。
答:面向过程问题求解,以具体的解题过程为研究和实现的主体,其思维特点更接近于计算机;面向对象的问题求解,则是以“对象”为主体,“对象”是现实世界的实体或概念在计算机逻辑中的抽象表示,更接近于人的思维特点。
面向过程的编程语言:C,Pascal,Foratn。
面向对象的编程语言:C++,Java,C#。
2.简述对象、类和实体及它们之间的相互关系。
尝试从日常接触到的人或物中抽象出对象的概念。
答:面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。
类是同种对象的集合与抽象。
类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。
如果类是抽象的概念,如“电视机”,那么对象就是某一个具体的电视机,如“我家那台电视机”。
3.对象有哪些属性?什么是状态?什么是行为?二者之间有何关系?设有对象“学生”,试为这个对象设计状态与行为。
答:对象都具有状态和行为。
对象的状态又称为对象的静态属性,主要指对象内部所包含的各种信息,也就是变量。
每个对象个体都具有自己专有的内部变量,这些变量的值标明了对象所处的状态。
行为又称为对象的操作,它主要表述对象的动态属性,操作的作用是设置或改变对象的状态。
学生的状态:姓名、性别、年龄、所在学校、所在系别、通讯地址、电话号码、入学成绩等;学生的行为:自我介绍、入学注册、选课、参加比赛等。
4.对象间有哪三种关系?对象“班级”与对象“学生”是什么关系?对象“学生”与对象“大学生”是什么关系?答:对象间可能存在的关系有三种:包含、继承和关联。
对象“班级”与对象“学生”是包含关系。
对象“学生”与对象“大学生”是继承关系。
5.有人说“父母”和“子女”之间是继承的关系。
这种说法是否正确?为什么?答:“父母”和“子女”之间不是面向对象意义上的“继承”关系。
因为这里的继承关系是“is a”的关系,“男人”与“人”之间可以说是继承关系。
6.面向对象的软件开发包括哪些过程?OOA模型包括哪三个层次?OOD模型在OOA模型的基础上引入了哪些工作?答:面向对象的软件开发过程可以大体划分为面向对象的分析(Object Oriented analysis,OOA)、面向对象的设计(Object oriented design,OOD)、面向对象的实现(Object oriented programming,OOP)三个阶段。
面向对象的分析的主要作用是明确用户的需求,并用标准化的面向对象的模型规范地表述这一需求,最后将形成面向对象的分析模型。
面向对象的设计将在OOA模型的基础上引入界面管理、任务管理和数据管理三部分的内容。
7.面向对象的程序设计方法有哪些优点?答:由于对象的概念能够以更接近实际问题的原貌和实质的方式来表述和处理这些问题,所以面向对象的软件开发方法比以往面向过程的方法有更好的灵活性、可重用性和可扩展性,使得上述“分析—设计—实现”的开发过程也更加高效、快捷。
第2章Java概述1.简述Java编译和运行的基本方法。
答:编译可以使用JDK中的工具javac.exe。
例如:javac HelloWorldApp.java运行Java程序则可以使用JDK提供的解释器是java.exe。
例如:java HelloWorldApp2.下载并安装JDK软件包,3.尝试查看其中的JDK文档。
答:Java编程的基本工具包是JDK(Java Development Kit)。
JDK是Sun公司免费提供的开发、运行Java程序的基本软件,它可以在Windows及Unix两种平台下使用。
常用的版本是JDK1.2.2,JDK1.3.0,JDK1.4等。
可以从网站下载较新的版本,如JDK1.5(也称为JDK5.0)。
JDK文档也可以从网上下载。
3.编写一个Java Application,利用JDK软件包中的工具编译并运行这个程序,在屏幕上输出“Welcome to Java World!”。
答:见程序。
public class Ex2_3{public static void main(String[] args){"Welcom to java vorld");}}4.编写一个Java Applet,使之能够在浏览器中显示“Welcome to Java Applet World!”的字符串信息。
答:见程序。
import java.awt.*;import java.applet.*;public class Ex2_4 extends Applet { //an appletpublic void paint(Graphics g){g.drawString ("Welcome to Java Applet World!",20,20);}}5.编写一个HTML文件,将上题中生成的Applet字节码嵌入其中,并用WWW浏览器观看这个HTML文件规定的Web页面。
答:与上一题同。
6.编写一个程序,能够从键盘上接收两个数字,然后计算这两个数的积。
答:见程序。
import java.io.*;public class Ex2_6{public static void main(String[] args){String s = "";double c = 0;double d = 0;try{BufferedReader in = new BufferedReader(new InputStreamReader( System.in ) );"请输入一个数: ");s = in.readLine();c = Double.parseDouble( s );"请输入另一个数: ");s = in.readLine();d = Double.parseDouble( s );}catch(IOException e){}"这两个数的积为: " + (c * d) );}}7.编写一个程序,从两个文本框中接收两个数字,然后计算这两个数的积。
答:见程序。
import java.applet.*;import java.awt.*;import ;public class Ex2_7 extends Applet{TextField in1 = new TextField(10);TextField in2 = new TextField(10);Button btn = new Button("求两个数的积");Label out = new Label("用于显示结果的标签");public void init(){setLayout( new FlowLayout() );add( in1 );add( in2 );add( btn );add( out );btn.addActionListener( new BtnActionAdapter() );}class BtnActionAdapter implements ActionListener{public void actionPerformed( ActionEvent e ){String s1 = in1.getText();double d1 = Double.parseDouble( s1 );String s2 = in2.getText();double d2 = Double.parseDouble( s2 );double result = d1 * d2;out.setText( d1 + "X" + d2 +"=" + result);}}}8.常用的集成开发工具有哪些?各有什么特点?答:常用的集成开发工具包括:Borland公司出品的Jbuilder, Sun公司出品的Java Workshop, IBM公司的Visual Age for Java,Oracle公司的Java Develop,等等。
另外,Symantec公司的Visual Café也是著名的Java开发工具。
近来,Eclipse也是使用很广的集成开发工具。
第3章数据运算、流控制、数组1.简述Java程序的构成。
如何判断主类?下面的程序有几处错误?如何改正,这个程序的源代码应该保存成什么名字的文件? public class MyJavaClass{public static void main(){System.out.printIn("Am I wrong?");}System.out.printIn("程序结束。
");}答:一个复杂的程序可由一个至多个Java源程序文件构成,每个文件中可以有多个类定义。
一般的Java源程序文件由以下三部分组成:package 语句;(0句—1句)import 语句;(0句—多句)类定义(1个—多个类定义)这里所说的主类是指程序中含有main()方法的类。
上面的示例程序中的错误主要在于拼写,如:点及分号应该用西文的;printIn中的大写字母I应改为小写字母l;另外,main()方法应该带参数,改为:public static void main(String [] argvs)import java.applet.*;import java.awt.*;import ;public class Ex2_7 extends Applet{TextField in1 = new TextField(10);TextField in2 = new TextField(10);Button btn = new Button("求两个数的积");Label out = new Label("用于显示结果的标签");public void init(){setLayout( new FlowLayout() );add( in1 );add( in2 );add( btn );add( out );btn.addActionListener( new BtnActionAdapter() );}class BtnActionAdapter implements ActionListener{public void actionPerformed( ActionEvent e ){String s1 = in1.getText();double d1 = Double.parseDouble( s1 );String s2 = in2.getText();double d2 = Double.parseDouble( s2 );double result = d1 * d2;out.setText( d1 + "X" + d2 +"=" + result);}}}2.Java有哪些基本数据类型?写出int型所能表达的最大、最小数据。