上海交大网络面向对象程序设计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))//闰年。
Java程序设计课后练习答案
《J a v a程序设计》课后练习答案第一章Java概述一、选择题1.( A )是在Dos命令提示符下编译Java程序的命令,( B )是运行Java程序的命令。
A.javacB.javaC.javadocD.javaw2.( D )不是Java程序中有效的注释符号。
A.//B.C.D.3.(A.B.C.D.4.JavaA.B.C.D.5.JavaA.1、JavaJava(JVM)Java以下图展示了Java程序从编译到最后运行的完整过程。
2、简述Java语言的特点Java具有以下特点:1)、简单性Java语言的语法规则和C语言非常相似,只有很少一部分不同于C语言,并且Java还舍弃了C语言中复杂的数据类型(如:指针和结构体),因此很容易入门和掌握。
2)、可靠性和安全性Java从源代码到最终运行经历了一次编译和一次解释,每次都有进行检查,比其它只进行一次编译检查的编程语言具有更高的可靠性和安全性。
3)、面向对象Java是一种完全面向的编程语言,因此它具有面向对象编程语言都拥有的封装、继承和多态三大特点。
4)、平台无关和解释执行Java语言的一个非常重要的特点就是平台无关性。
它是指用Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。
Java之所以能平台无关,主要是依靠Java虚拟机(JVM)来实现的。
Java编译器将Java源代码文件编译后生成字节码文件(一种与操作系统无关的二进制文件)5)、6)、Java来。
1、/****/}}第二章Java语法基础一、选择题1.下面哪个单词是Java语言的关键字( B )?A. DoubleB. thisC. stringD. bool2.下面属于Java关键字的是( D )。
A. NULLB. IFC. DoD. goto3.在启动Java应用程序时可以通过main( )方法一次性地传递多个参数。
如果传递的参数有多个,可以用空格将这些参数分割;如果某一个参数本身包含空格,可以使用( B )把整个参数引起来。
(部选)JAVA各章习题及答案
【编程分析】 要编写 Java Application 类型的程序,需要在 Exclipse 中创建一个 Java Application 类型的工程,这时 Exclipse 会自动创 建程序框架,该框架包含一个公共类,其中包含一个 main()方法。删除 main()方法中自动生成的代码,编写自己的代码即可。由于该 程序要求输出一句话,因此在 main()方法中直接调用 System.out.println()或 System.out.print()方法即可实现。 【参考程序】 public class X3_1 { public static void main(String args[]){ System.out.println("This is my first Java Application!"); } } 【运行结果】 This is my first Java Application! 第2章 一、选择题 1.下列( D )是合法的标识符? (A)12class (B)void (C)-5 (D)_blank 【解析】根据 Java 标识符的构成规则确定。 2.下列( B )不是 Java 中的保留字? (A)if (B)sizeof (C)private (D)null 【解析】根据 Java 保留字表进行选择。 3.下列( C )不是合法的标识符? (A)$million (B)$_million (C)2$_million (D)$2_million 【解析】根据 Java 标识符的构成规则确定。 4.下列选项中, ( B )不属于 Java 语言的基本数据类型? (A)整数型 (B)数组 (C)浮点型 (D)字符型 【解析】根据 Java 语言的基本数据类型包含的类别选取。 5.下列关于基本数据类型的说法中,不正确的一项是( D ) 。 (A)boolean 类型变量的值只能取真或假 B)float 是带符号的 32 位浮点数 C)double 是带符号的 64 位浮点数 D)char 是 8 位 Unicode 2
面向对象程序设计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面向对象程序设计习题答案Java面向对象程序设计习题答案在Java编程中,面向对象程序设计是一种重要的编程范式。
它通过将现实世界中的实体抽象成对象,然后通过对象之间的交互来实现程序的功能。
在这篇文章中,我们将为您提供一些常见的面向对象程序设计习题答案,帮助您更好地理解和掌握这一编程范式。
1. 请编写一个简单的Java类,表示一个学生。
该类应该包括学生的姓名、年龄和学号等属性,并且应该有方法来设置和获取这些属性。
```javapublic class Student {private String name;private int age;private String studentId;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 getStudentId() {return studentId;}public void setStudentId(String studentId) {this.studentId = studentId;}}```2. 请编写一个简单的Java类,表示一个图书。
该类应该包括图书的名称、作者和价格等属性,并且应该有方法来设置和获取这些属性。
```javapublic class Book {private String title;private String author;private double price;public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}}```通过以上两个例子,我们可以看到面向对象程序设计的特点:将现实世界中的实体抽象成对象,并通过对象的属性和方法来描述和实现这些实体。
(0837)《面向对象程序设计》网上作业题及答案
(0837)《面向对象程序设计》网上作业题及答案1:第一次作业2:第二次作业3:第三次作业4:第四次作业5:第五次作业6:第六次作业1:[论述题]编写一个简单的乘法器,界面如下图所示,在第一个文本框中输入第一个乘数;在第二个文本框中输入第二个乘数;当单击"=”按钮时,在第三个文本框中输出其乘积。
参考答案:问题(1):Java程序分为Java应用程序(或Java application)和Java小应用程序(或Java applet);这段程序是Java小应用程序。
问题(2):界面上包含一个标签(JLabel),一个按钮(JButton)和一个文本框(JTextField);点击按钮后,文本框内显示“好好学习,天天向上”。
问题(3):ActionListener是动作事件监听器接口;方法actionPerformed()是ActionListener中的方法;其功能是处理applet界面里发生的动作事件。
2:[论述题]请设计一个软件包。
要求该软件包至少拥有正方形类、圆类。
要求每个类都具有构造方法、计算该图形的周长的成员方法和计算该图形的面积的成员方法。
然后编写一个测试程序,分别创建这些类的实例对象,并输出这些实例对象的周长和面积。
在创建这些实例对象时,构造方法的调用参数值分别是:正方形:左上定点的坐标为(5,10),边长为15。
圆形:圆心的坐标为(0,0),圆心为15。
参考答案:问题(1):Test3是SuperTest的子类(或SuperTest是Test3的父类,或继承关系)。
问题(2):super指对象的父类(或超类);this指使用它的对象本身(或对对象自己的引用)。
问题(3):程序的输出是:Hi, I am OliveNice to meet you!Age is 7My age is 7My parent's age is 353:[论述题]编写一个程序,要求随机生成61个学生的成绩(从0到100的整数),在将成绩排序(由高到低)后保存到文件"score.txt”中。
《JAVA面向对象程序设计》练习题参考答案
《J A V A语言程序设计》练习题 1一、单选择题1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。
A. .javaB. .classC. .htmlD. .exe2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( )。
A. 3B. 3. 5C. 4D. 53、不允许作为类及类成员的访问控制符的是( )。
A. publicB. privateC. staticD. protected4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )5、给定java 代码如下,编译运行后,输出结果是( )(选择一项)。
public class test {static int i;public int aMethod() {i++;return i;}public static void main (String args[]) {Test test=new Test() ;test.aMethod () ;} }a) 0 b) 1 c) 2 d) 3二、填空题1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。
2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。
3、设x = 2 ,则表达式( x + + )/3 的值是0 。
4、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为true和false。
面向对象程序设计JAVA 历次上机答案(复习用)
一JA V A上机实验编程题答案(红色字体为重要知识点)JA V A上机题(0)1 某应用软件的登录密码是123(整数),用户从键盘输入密码,如果正确则输出显示“欢迎使用本软件”的字样,如果密码错误则输出显示“密码错,请重新输入!”的字样。
(用==运算符实现)import java.util.*;class mima{void f(){System.out.println("请输入密码:");}}public class sj0_1 {public static void main(String args[]){Scanner reader=new Scanner(System.in);mima m=new mima();m.f();int s = 0;s=reader.nextInt();while(s!=123){System.out.println("密码错误,请重新输入:");s=reader.nextInt();}System.out.printf("欢迎使用本软件!");}}2 5个学生(每个学生学习了3门课),输入5个学生的学号(整数)和3门课程的成绩(整数),统计并输出3门课程总分最高的学生的学号和总分。
(二维数组实现)import java.util.*;public class sj0_2 {public static void main(String args[]){int Stuscore[][]=new int[5][5];Scanner reader=new Scanner(System.in);int xuehao=0,Maxsum=0;System.out.printf("请输入学生的学号和各科的成绩:\n");for(int i=0;i<5;i++){for(int j=0;j<4;j++)Stuscore[i][j]=reader.nextInt();System.out.printf("\n");}for(int i=0;i<5;i++){for(int j=1;j<4;j++)Stuscore[i][4] +=Stuscore[i][j];if(Stuscore[i][4]>Maxsum)Maxsum=Stuscore[i][4];if(Maxsum==Stuscore[i][4])xuehao=i;}System.out.printf("总分最高的学生的学号和总分为:%d,%d",Stuscore[xuehao][0],Maxsum);}}3从键盘上输入若干成绩(正整数),输入的数以0为中止标记,输出最高成绩、最低成绩、90分以上人数。
java面向对象程序设计 习题答案
java面向对象程序设计习题答案《Java面向对象程序设计习题答案》在Java编程语言中,面向对象程序设计是一种重要的编程范式,它通过将现实世界中的事物抽象成对象和类的形式,来实现程序的设计和开发。
为了帮助大家更好地理解和掌握面向对象程序设计的知识,下面我们将通过一些习题来讲解相关的答案。
1. 什么是面向对象程序设计?面向对象程序设计是一种以对象为基础的程序设计方法,它将程序中的数据和操作封装在对象中,通过对象之间的交互来实现程序的功能。
面向对象程序设计具有封装、继承和多态等特性,能够提高程序的可维护性和扩展性。
2. 什么是类和对象?类是一种用来描述对象的模板,它定义了对象的属性和行为。
而对象则是类的实例,它具体描述了类的属性和行为。
在Java中,通过关键字“class”来定义类,通过关键字“new”来创建对象。
3. 什么是封装?封装是面向对象程序设计的一个重要特性,它指的是将数据和操作封装在对象内部,对外部隐藏对象的内部实现细节。
通过封装,可以保护对象的数据不被外部直接访问和修改。
4. 什么是继承?继承是面向对象程序设计的另一个重要特性,它指的是一个类可以派生出子类,子类可以继承父类的属性和行为。
通过继承,可以实现代码的重用和扩展。
5. 什么是多态?多态是面向对象程序设计的另一个重要特性,它指的是同一个操作对不同对象有不同的行为。
通过多态,可以实现接口的统一和灵活的程序设计。
通过以上习题的答案,我们可以更好地理解和掌握面向对象程序设计的知识。
希望大家在学习Java编程语言的过程中,能够加强对面向对象程序设计的理解和应用,提高自己的编程能力。
6最新交大网络教育_面向对象程序设计(JAVA)第二次作业
第6讲——“输入输出流与文件”作业1、当使用File类中的方法操作文件系统时,下列功能中的哪个不能做到?(d)A)改变当前工作路径B)删除某个文件C)创建某个文件D)修改文件的安全级别2、对File类实例化时,在文件系统中便相应有一个文件被创建。
该句话是否正确?(b)A)正确B)错误3、下面哪种流类允许您从一个文件中读取基本数据类型的数据?(a)A)DataInputStream和FileInputStreamB)DataInputStreamC)FileInputStreamD)FileReader4、下列说法中错误的是(b)A)Reader类和Writer类及其派生类都可用于16位Unicode字符的输入输出B)FileInputStream类和FileOutputStream类均可用于处理16位Unicode字符的输入输出C)FileInputStream类和FileOutputStream类可用于读取图像文件D)FileInputStream类和FileOutputStream类可用于读取文本文件5、下列代码的运行结果为(a)FileOutputStream out=new FileOutputStream(“objectStore.ser”);ObjectOutputStream os=new ObjectOutputStream(out);os.writeObject(“Object on the fly!”);A)字符串“Object on the fly!”被写入文件objectStore.serB)第3行导致编译错误C)代码可以编译通过,但在运行时第3行将抛出一个异常D)第2行将出现一个异常6、考虑如下代码段:FileOutputStream fo=new FileOutputStream(“myFile.txt”);DataOutputStream do=new DataOutputStream(fo);do.writeByte(9);do.writeFloat(4.20f);do.close();上述代码执行后,有多少字节(8位)被写入文件?(b)A)2B)5C)3D)107、考虑如下代码段:1)import java.io.*;2)public class QuestionEight{3)public static void main(String[]args)throws IOException{4)File inputFile=new File(“javaCourse.txt”);5)File outputFile=new File(“javaCourseCopy.txt”);6)BuffferedReader in=new BufferedReader(inputFile);7)BufferedWriter out=new BufferedWriter(new FileWriter(outputFile));8)String line;9)while((line=in.readLine())!=null){10)out.write(line);11)out.newLine();12)}13)in.close();14)out.close();15)}16)}上述代码的输出为:(b)A)第3行编译时报错B)第6行编译时报错C)编译通过,但运行时第6行抛出异常D)编译通过,且运行时正常。
JAVA语言与面向对象程序设计课后习题答案
JAVA语言与面向对象程序设计课后习题答案第1章面向对象软件开发概述1.简述面向过程问题求解和面向对象问题求解的异同。
试列举出面向对象和面向过程的编程语言各两种。
请问:面向过程问题解,以具体内容的解题过程为研究和同时实现的主体,其思维特点更吻合于计算机;面向对象的问题解,则就是以d对象‖为主体,d对象‖就是现实世界的实体或概念在计算机逻辑中的抽象化则表示,更吻合于人的思维特点。
面向过程的编程语言:c,pascal,foratn。
面向对象的编程语言:c++,java,c#。
2.详述对象、类和实体及它们之间的相互关系。
尝试从日常碰触至的人或物中抽象化出来对象的概念。
答:面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。
类是同种对象的集合与抽象。
类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。
如果类是抽象的概念,如d电视机‖,那么对象就是某一个具体的电视机,如d我家那台电视机‖。
3.对象存有哪些属性?什么就是状态?什么就是犯罪行为?二者之间有何关系?建有对象d学生‖,精义这个对象设计状态与犯罪行为。
答:对象都具有状态和行为。
对象的状态又称作对象的静态属性,主要指对象内部所涵盖的各种信息,也就是变量。
每个对象个体都具备自己专有的内部变量,这些变量的值标明了对象所处的状态。
行为又称为对象的操作,它主要表述对象的动态属性,操作的作用是设置或改变对象的状态。
学生的状态:姓名、性别、年龄、所在学校、所在系别、通讯地址、电话号码、入学成绩等;学生的行为:自我介绍、入学注册、选课、参加比赛等。
4.对象间存有哪三种关系?对象d班级‖与对象d学生‖就是什么关系?对象d学生‖与对象d大学生‖就是什么关系?答:对象间可能存在的关系有三种:包含、继承和关联。
对象d班级‖与对象d学生‖是包含关系。
对象d学生‖与对象d大学生‖是继承关系。
Java面向对象程序设计—习题和答案
4.11
1.被继承的类一般称为___________或___________,继承的类称为___________。
2.在继承中发生的强制类型转换为___________。
3.设有下面两个类的定义:
class Person {}
class Student extends Person {
AWT是随早期Java一起发布的GUI工具包,是所有Java版本中都包含的基本GUI工具包,其中不仅提供了基本的控件,并且还提供了丰富的事件处理接口。Swing是继AWT之后Sun推出的又一款GUI工具包。Swing建立在AWT 1.1的,也就是说AWT是Swing大厦的基石
6.适配器是指实现了一个或多个监听接口的类,适配器类为所有的事件处理方法都提供了空实现。实际开发中在编写监听器代码时不再直接实现监听接口,而是继承适配器类并重写需要的事件处理方法,这样就避免了大量编写不必要代码的情况
}
则顺序执行如下语句后输出结果为:()
Father a;
Child b;
A、我是父类B、我是子类
我是子类我是父类
C、我是父类D、我是子类
我是父类我是子类
5.什么时覆盖,它有什么优点
6.this和super的作用是什么
7.什么是动态绑定
答案:
1.超类、父类、子类
2.引用类型转换
3.B
4.A
5.子类其自身的方法中,若与继承过来的方法具有相同的签名,便构成了方法的覆盖(有的资料称之为方法的重写)。覆盖的主要优点是能够定义各子类的特有行为
public static void main(String[] args) {
String s = "C://myFile/a/b/c/d/a.text";
上海大学 面向对象的程序设计 答案
雷电老师的上机实验答案(部分)。
以下文字中,红色为应填入的答案,绿色为代码的注释,蓝色为老师没有讲过的知识补充,紫色为我不确定的题目☆第二章从C到C++1. 以下说法正确的有A. 面向对象程序设计的基本特征是封装、继承、多态B. 名字空间的作用是提供逻辑分类和防止名字冲突2. 代码填空#include <iostream>using namespace std;//这是因为std涵盖了标准C++的定义和声明,可以把std 想象成一个很大的名字空间名,cin、cout都是其内部定义的函数namespace myLib //此处定义了名叫“myLib”的名字空间{int maxV(int& a,int& b){return a>b?a:b;}} //此空间里面的所有函数的全名为:myLib::maxV int main( ){int x,y;cin >>x>>y;//因为题目要求要输入两个函数,所以我们采取依次输入的方法cout <<myLib::maxV( x,y ); //输出maxV函数值,名字空间里面定义过的函数,全名为:“名字空间名::函数名”return 0;}输入 1 2 输出 2 //maxV函数的意思是取两个参数中较大的一个△这里说一下typedef的两条用法,下面的题目要用到:用途一:定义一种类型的别名,而不只是简单的宏替换。
可以用作同时声明指针型的多个对象。
比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针,// 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针虽然:char *pa, *pb;也可行,但相对来说没有用typedef的形式直观,尤其在需要大量指针的地方,typedef的方式更省事。
Java程序设计(华东交通大学)智慧树知到课后章节答案2023年下华东交通大学
Java程序设计(华东交通大学)智慧树知到课后章节答案2023年下华东交通大学华东交通大学第一章测试1.编译和运行以下代码的结果为:public class MyMain{public static void main(String argv){System.out.println("Hello cruel world");}}答案:编译无错,但运行时指示找不到main方法2.以下哪个是Java应用程序入口的main方法头?答案:public static void main(String a[])3.编译Java源程序文件将产生相应的字节码文件,字节码文件的扩展名为?class4.main方法是Java Application程序执行的入口点,关于main方法的方法头合法的有?答案:public static void main(String arg[ ]);public static void main(String[ ] args)5.每个源程序文件中只能定义一个类。
答案:错第二章测试1.在Java中,十进制数16的十六进制表示格式是?答案:0x102.要产生[10,100]之间的随机整数使用哪个表达式?10+(int)(Math.random()*91)3.下列符号中不能作为Java标识符的是?答案:45six4.下面各项中定义变量及赋值不正确的是?答案:float f = 45.0;5.执行以下代码段后, x, a,和 b的值为?int x, a = 6, b = 7;x = a++ + b++;答案:x= 13, a=7, b=86.下列哪个不是Java的保留字?答案:cin7.哪些赋值是合法的?答案:float f = -412;;long test = 012; ;double d = 0x12345678;8.下列代码中,将引入编译错误的行是1 public class Exercise{2 public static void main(String args[]){3 float f = 0.0 ;4 f = f + 1.0 ;5 }6 }答案:第3行;第4行9.下列哪些是合法标识符?答案:$persons ;TwoUsers10.下列哪些是java中有效的整数表示形式?答案:022;22;0x22第三章测试1.如何更改break语句使退出inner和middle循环,继续外循环的下一轮?outer: for (int x = 0; x < 3; x++) {middle: for (int y = 0; y < 3; y++) {inner: for (int z = 0; z < 3; z++) {if (arr(x, y, z) == targetValue)break;}}}答案:break middle;2.以下程序的输出结果为?public class Test {public static void main(String args[]) {for ( int k = 0; k < 3; k++)System.out.print("k");}}答案:kkk3.以下代码的调试结果为?1: public class Q102: {3: public static void main(String[] args) 4: {5: int i = 10;6: int j = 10;7: boolean b = false;8:9: if( b = i == j)10: System.out.println("True");11: else12: System.out.println("False");13: }14: }答案:输出:True4.以下代码的调试结果为?public class test {public static void main(String args[]) {int i = 1;do {i--;} while (i > 2);System.out.println(i);}}答案:5.下面的代码段执行之后count的值是什么?int count = 0;for (int i = 1; i < 4; i++) {count += i;}System.out.println(count);答案:66.以下程序的运行结果为:1. public class Conditional {2. public static void main(String args [] ) {3. int x = 4;4. System.out.println( "value is " +5. ((x > 4) ? 99.99 : 9));6. }7. }答案:输出: value is 9.07.下列程序的运行结果?public class Test {public static void main(String a[]) {int x=3,y=4,z=5;if (x>3) {if (y<2)System.out.println("show one");elseSystem.out.println("show two");}else {if (z>4)System.out.println("show three");elseSystem.out.println("show four");}}}答案:show three8.以下程序调试结果public class test {public static void main(String args[]) {int i=1, j=3;while (j>0) {j--;i++;}System.out.println(i);}}答案:49.在switch(expression)语句中,expression的数据类型不能是?答案:boolean;double10.假设a是int类型变量,并初始化为1,则下列哪个为合法的条件语句?答案:if (a<3) { } ; if (true) { }第四章测试1.以下程序运行时输入:java Cycle hello two me 2public class Cycle{public static void main(String args[]){System.out.println(args[1]);}}则运行结果为?答案:two2.public class test {public static void main(String args[]) {int m=0;for ( int k=0;k<2;k++)method(m++);System.out.println(m);}public static void method(int m) {System.out.print(m);}答案:0123.以下程序运行结果为:public class Q {public static void main(String argv[]) { int anar[]= new int[5];System.out.println(anar[0]);}}答案:4.下列程序的运行结果是:public class Test {public static void main(String args[]) {int m[]={1,2,3,4,5,6,7,8};int sum = 0;for (int i=0;i<8;i++){sum = sum + m[i];if (i==3) break;}System.out.println(sum);}}答案:105.下面定义和给数组初始化正确的是:答案:String temp [] = {''a'', ''b'', ''c''};6.在注释//Start For loop 处要插入哪段代码可以实现根据变量i的值定位访问数组ia[]的所有元素。
交大网络教育_面向对象程序设计(Java)第二次作业
3、下面哪种流类允许您从一个文件中读取基本数据类型的数据?选择一项:a. FileReaderb. FileInputStreamc. DataInputStreamd. DataInputStream和FileInputStream题目2考虑如下代码段:FileOutputStream fo = new FileOutputStream(“myFile.txt”); DataOutputStream do = new DataOutputStream(fo);do.writeByte(9);do.writeFloat(4.20f);do.close();上述代码执行后,有多少字节(8位)被写入文件?选择一项:a. 2b. 10c. 3d. 5题目3下列说法中正确的是选择一项:a. 当一个对象被序列化时,整个类定义也会被相应保存b. 当一个对象被序列化时,整个对象的状态(所有的数据变量及其相应值)均会被保存c. FileInputStream无法读取文本文件,它只能用来读取图像文件d. 上述说法A,B,C均有误题目42、对File类实例化时,在文件系统中便相应有一个文件被创建。
该句话是否正确?选择一项:A. 正确B. 错误题目5下列集合类中哪种可用于存储“key-value”对且是线程安全的?选择一项:A. HashMapB. TreeMapC. VectorD. HashTable题目61、当使用File类中的方法操作文件系统时,下列功能中的哪个不能做到?选择一项:A. 改变当前工作路径B. 创建某个文件C. 修改文件的安全级别D. 删除某个文件题目7下列说法中错误的是选择一项:A. Set是一种不允许出现元素重复的集合B. List集合中不允许存在重复元素C. Map集合中可以存储重复值D. List是一种依索引有序的集合题目8下列说法中错误的是选择一项:A. FileInputStream类和FileOutputStream类均可用于处理16位Unicode字符的输入输出B. FileInputStream类和FileOutputStream类可用于读取文本文件C. Reader类和Writer类及其派生类都可用于16位Unicode字符的输入输出D. FileInputStream类和FileOutputStream类可用于读取图像文件题目9下面的哪些类实现了java.util.List接口?(1) java.util.Vector(2) java.util.LinkedList(3) java.util.HashTable(4) java.util.OrderedList选择一项:A. 1B. 1,2C. 3,4D. 1,2,3,4题目10下列语句不合法的是:选择一项:A. HashSet<String> set = new HashSet<String>();B. HashMap<Integer, String> hmap = new HashMap<Integer, String>();C. ArrayList<int> list = new ArrayList<int>();D. List<String> list2 = new ArrayList<String>();关于hashcode,下列说法中错误的是选择一项:A. 如果两个不相等的对象的hashcode值总不相等,程序的性能会得到提升B. 总是返回常量的函数不会是一个高效的函数C. 两个不相等的对象的hashcode值一定不相等D. 两个相等对象的hashcode值一定相等题目12下列代码的运行结果为(A)FileOutputStream out = new FileOutputStream(“objectStore.ser”); ObjectOutputStream os = new ObjectOutputStream(out);os.writeObject(“Object on the fly!”);选择一项:A. 字符串“Object on the fly!”被写入文件objectStore.serB. 第3行导致编译错误C. 第2行将出现一个异常D. 代码可以编译通过,但在运行时第3行将抛出一个异常题目13考虑如下代码段:1) import java.io.*;2) public class QuestionEight {3) public static void main(String[] args) throws IOException {4) F ile inputFile = new File(“javaCourse.txt”);5) File outputFile = new File(“javaCourseCopy.txt”);6) BuffferedReader in = new BufferedReader(inputFile);7) BufferedWriter out = new BufferedWriter(new FileWriter(outputFile));8) String line;9) while((line = in.readLine()) != null) {10) out.write(line);11) out.newLine();12) }13) in.close();14) out.close();15) }16) }上述代码的输出为:选择一项:A. 第6行编译时报错B. 编译通过,且运行时正常C. 编译通过,但运行时第6行抛出异常D. 第3行编译时报错题目14考虑如下代码段:1. int i = 5;2. printIt(i);3. void printIt(Integer wi) {4. int j = wi;5. System.out.println(“The value is: ” + j);6. }该代码段的输出为选择一项:a. 第2行编译时报错b. 第3行编译时报错c. 运行时错误d. The value is: 5题目15考虑如下代码段:1. ArrayList<ObjectOne> list = new ArrayList<ObjectOne>();2. list.Add(new ObjectOne());3. list.Add(new ObjectOne());4. list.Add(new ObjectOne());5. Collections.sort(list);6. class ObjectOne {7. private int x = 0;8. private int y = 0;9. }该代码段的输出为:选择一项:A. 运行时第3行出错B. 编译时第3行出错C. 运行时第5行出错D. 编译时第5行报错题目16考虑如下代码段:ArrayList<Integer> list = new ArrayList<Integer>();list.add(new Integer(1));list.add(new Integer(2));list.add(new Integer(3));Iterator<Integer> itr = list.iterator(); for(Integer wij : list) {System.out.println(“number: ” + wij); }该代码段的输出为:选择一项:A. 第6行编译时出错B. number: 1number: 2number: 3C. 第7行编译时出错D. 第5行编译时出错。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上海交大网络2017面向对象程序设计(Java)第一、二、三次作业最新答案第一次作业1、下列关于构造方法的叙述中,错误的是(B )A) Java 语言规定构造方法名与类名必须相同B) Java 语言规定构造方法没有返回值,但不可用void 声明C) Java 语言规定构造方法不可重载D) Java 语言规定构造方法只能通过new自动调用2、作为Java应用程序入口的main方法,其声明格式可以是(B )A) public void main(String [] args)B) public static void main(String [] args)C) public static void Main(String * args)D) public int main(String [] args)3、Java 中,能实现多重继承效果的方式是(C )A) 内部类B) 适配器C) 接口D) 同步4、在Java中,用package 语句声明一个包时,该包的层次结构必须是(B )A) 与文件结构相同B) 与文件目录的层次相同C) 与文件类型相同D) 与文件大小相同、在Java 中,所有类的公共基类是( A )6、下列叙述中,错误的是(D)A) java 中,方法的重载是指多个方法共享同一名称B) java 中,用abstract 修饰的类称为抽象类,它不可实例化C) java 中,接口是不包含成员变量和方法实现的抽象类D) java 中,构造函数可以有返回值7、下列叙述中,错误的是(D )A) 接口与类的层次无关B) 通过接口说明类所实现的方法C) 通过接口可以了解对象的交互界面D) 接口与存储空间有关8、阅读和理解下面的程序段class Manager extends Employee{public Manager(String n, double s, int year, int month, int day){super(n, s, year, month, day);bonus = 0;}public double getSalary(){double baseSalary = super.getSalary();return baseSalary + bonus;}public void setBonus(double b){bonus = b;}private double bonus;}Manager 是Employee 的子类,其理由是(B)A) Manager 的适用范围较宽B) extends 关键字声明C) Manager 的域减小了D) 雇员是一个经理9、“X extends Y”是正确的,如果(C )A) 当且仅当X 是一个类,Y 是一个接口时B) 当且仅当X 是一个接口,Y 是一个类时C) 当X 和Y 都是类或都是接口时D) X 和Y 是类或接口的任意组合时10、下面关于抽象类的声明中正确的是(B )A) public abstract class Canine { public void speak(); }B) public abstract class Canine { public void speak() { }}C) public class Canine { public abstract void speak(); }D) public class Canine abstract { public abstract void speak(); }11、在下列代码的第9 行插入哪条语句可使程序编译通过?(C)1. class X { void do1() { } }2. class Y extends X { void do2() { } }3.4. class Chrome {5. public static void main(String [] args) {6. X x1 = new X();7. X x2 = new Y();8. Y y1 = new Y();9. // 插入代码10. }11.}A) x2.do2();B) (Y)x2.do2();C) ((Y)x2).do2();D) 以上A、B、C 均可。
12、下列关于java 对import 语句规定的叙述中,错误的是(C )A) 在java 程序中,import 语句可有多个B) 在java 程序中,import 语句可以没有C) 在java 程序中,import 语句必须有一个D) 在java 程序中,import 语句必须引入在所有类定义之前13、若特快订单是一种订单,则特快订单类和订单类的关系对应于面向对象编程(OOP)中的术语(C )A) 使用关系B) 包含关系C) 继承关系D) 无关系14、Java的继承属于哪种类型?( A )A) 单继承B) 双继承C) 多继承D) 类继承15、在构造函数中使用super引用时有什么限制?(D )A) 只能用在父类的构造函数中。
B) 只有一个子类可以用。
C) 必须出现在构造函数的最后一条语句。
D) 必须出现在构造函数的第一条语句。
16、一个抽象类中能否既定义抽象方法又定义非抽象方法?(D )A) 不能,只能含有其中一种。
B) 不能,只能含有抽象方法。
C) 能,但子类不能继承抽象方法。
D) 能,子类可以继承上述两种方法。
17、在一个程序中,一个类可以有多少个对象?(C)A. 每个自定义的类只能有一个对象。
B. 每个构造函数的定义只能针对一个对象。
C. 需要多少可以有多少。
D. 每个main()方法中只能有一个。
18、下列哪个不是继承的优点?(D )A. 被不同类共享的代码只需编写一次。
B. 使得相似的类的行为是一致的。
C. 对基类的改进将直接作用于派生类。
D. 可以用一个大的基类替代许多小类。
第二次作业1、当使用File类中的方法操作文件系统时,下列功能中的哪个不能做到?(D)A) 改变当前工作路径B) 删除某个文件C) 创建某个文件D) 修改文件的安全级别2、对File类实例化时,在文件系统中便相应有一个文件被创建。
该句话是否正确?(B)A)正确B)错误3、下面哪种流类允许您从一个文件中读取基本数据类型的数据?(A)A) DataInputStream和FileInputStreamB) DataInputStreamC) FileInputStreamD) FileReader4、下列说法中错误的是(B)A) Reader类和Writer类及其派生类都可用于16位Unicode字符的输入输出B) FileInputStream类和FileOutputStream类均可用于处理16位Unicode字符的输入输出C) FileInputStream类和FileOutputStream类可用于读取图像文件D) FileInputStream类和FileOutputStream类可用于读取文本文件5、下列代码的运行结果为(A)FileOutputStream out = new FileOutputStream(“objectStore.ser”);ObjectOutputStream os = new ObjectOutputStream(out);os.writeObject(“Object on the fly!”);A) 字符串“Object on the fly!”被写入文件objectStore.serB) 第3行导致编译错误C) 代码可以编译通过,但在运行时第3行将抛出一个异常D) 第2行将出现一个异常6、考虑如下代码段:FileOutputStream fo = new FileOutputStream(“myFile.txt”);DataOutputStream do = new DataOutputStream(fo);do.writeByte(9);do.writeFloat(4.20f);do.close();上述代码执行后,有多少字节(8位)被写入文件?(B)A) 2B) 5C) 3D) 107、考虑如下代码段:1) import java.io.*;2) public class QuestionEight {3) public static void main(String[] args) throws IOException {4) File inputFile = new File(“javaCourse.txt”);5) File outputFile = new File(“javaCourseCopy.txt”);6) BuffferedReader in = new BufferedReader(inputFile);7) BufferedWriter out = new BufferedWriter(new FileWriter(outputFile));8) String line;9) while((line = in.readLine()) != null) {10) out.write(line);11) out.newLine();12) }13) in.close();14) out.close();15) }16) }上述代码的输出为:(B)A) 第3行编译时报错B) 第6行编译时报错C) 编译通过,但运行时第6行抛出异常D) 编译通过,且运行时正常。
A) 当一个对象被序列化时,整个类定义也会被相应保存B) 当一个对象被序列化时,整个对象的状态(所有的数据变量及其相应值)均会被保存C) FileInputStream无法读取文本文件,它只能用来读取图像文件。
D) 上述说法A,B,C均有误。
9、下列说法中错误的是(D)A) Set是一种不允许出现元素重复的集合B) Map集合中可以存储重复值C) List是一种依索引有序的集合D) List集合中不允许存在重复元素A) 1, 2 B) 1 C) 3, 4 D) 1, 2, 3, 411、关于hashcode,下列说法中错误的是(A)A) 两个相等对象的hashcode值一定相等B) 两个不相等的对象的hashcode值一定不相等C) 如果两个不相等的对象的hashcode值总不相等,程序的性能会得到提升D) 总是返回常量的函数不会是一个高效的函数。
12、考虑如下代码段:1. int i = 5;2. printIt(i);3. void printIt(Integer wi) {4. int j = wi;5. “The value is: ” + j);6. }该代码段的输出为(B)A) The value is: 5B) 第3行编译时报错C) 第2行编译时报错D) 运行时错误A) HashMap<Integer, String> hmap = new HashMap<Integer, String>();B) ArrayList<int> list = new ArrayList<int>();C) List<String> list2 = new ArrayList<String>();D) HashSet<String> set = new HashSet<String>();14、考虑如下代码段:1. ArrayList<ObjectOne> list = new ArrayList<ObjectOne>();2. list.Add(new ObjectOne());3. list.Add(new ObjectOne());4. list.Add(new ObjectOne());5. Collections.sort(list);6. class ObjectOne {7. private int x = 0;8. private int y = 0;9. }该代码段的输出为:(B)A) 编译时第5行报错B) 运行时第5行出错C) 编译时第3行出错D) 运行时第3行出错15、下列集合类中哪种可用于存储“key-value”对且是线程安全的?(A)A) HashTableB) HashMapC) TreeMapD) Vector16、考虑如下代码段:ArrayList<Integer> list = new ArrayList<Integer>();list.add(new Integer(1));list.add(new Integer(2));list.add(new Integer(3));Iterator<Integer> itr = list.iterator();for(Integer wij : list) {“number: ” + wij);}该代码段的输出为:(A)A) number: 1number: 2number: 3B) 第5行编译时出错C) 第6行编译时出错D) 第7行编译时出错第三次作业1、以下哪个方法可以正确启动新线程?(C)A)只需创建新线程对象,新线程会自动启动。