java语言程序设计作业答案

java语言程序设计作业答案
java语言程序设计作业答案

Java语言程序设计(郑莉)

第二章习题答案

1.什么是对象、类,它们之间的联系?

答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。

2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!

3)两者的关系:对象是类的具体实例.。

4.请解释类属性、实例属性及其区别。

答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。

5.请解释类方法、实例属性及其区别。

答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。

类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。

区别:实例方法可以直接访问实例变量,调用实例方法,实例方法可以直接访问类变量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法;

6.类的访问控制符有哪几种?具体含义及其区别。

答:类的访问控制符只有public(公共类)及无修饰符(默认类)两种。

区别:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类可以使用类。

7类成员的访问控制符有哪几种?他们对类成员分别有哪些访问限制的作用?

答:

类成员的访问控制符有public,private,protecte及无修饰符.

public(公有的):用public修饰的成分表示公有的,也就是它可以被其他任何对象访问(前提是对累成员所在的类访问有访问权限).

P rivate(保护的):类中限定为private的成员只能被这个类本身访问,在类外不可见。proteced(保护的)用该关键字修饰的成分是受保护的,只可以被同一类及其子类的实例对象访问。

无修饰符(默认的):public,private,protected这个三个限定符不是必须写的。如果不写,则表明是“friendly”,相应的成分可以被所在保重的各类访问。

8简述构造方法的特点?

答:

构造方法主要有以下特点:

(1)构造方法的方法名与类名相同;

(2)构造方法没有返回类型(修饰符void也不能有);

(3)构造方法通常被声明为公有的(public);

(4)构造方法可以有任意多个参数;

(5)构造方法的主要作用是完成对象的初始化工作;

(6)构造方法不能在程序中显式的调用;

(7)在生成一个对象时,系统会自动调用该类的构造方法为新生成的对象初始化。

9如果在类声明中声明了构造方法,系统是否还提供默认的构造方法?

答:

用户在进行类声明时,如果没有声明任何构造方法,系统会赋给此类一个默认(无参)的构造方法。但是,只要用户声明了构造方法,即使没有声明无参的构造方法,系统也不会再赋默认的构造方法。

11:声明并测试一个复数类,其方法包括toString()及复数的加、减、乘运算。

答:public class Complex

{

private float a;

private float b;

public String toString()

{if(a!=0)

return(a+"i"+"+"+b);

else return(""+b);

}

public Complex(float a,float b)

{

this.a=a;

this.b=b;

}

public void Add(Complex p)

{

this.a+=p.a;

this.b+=p.b;

}

public void Decrease(Complex p)

{

this.a-=p.a;

this.b-=p.b;

}

public void Multiply(Complex p)

{

this.a=this.a*p.a;

this.b=this.b*p.b;

}

public class ComplexTexter

{

public static void main(String args[])

{

Complex a=new Complex(2,4);

Complex b=new Complex(5,8);

a.Add(b);System.out.println(a.toString()+"\n");

a.Decrease(b);System.out.println(a.toString()+"\n");

a.Multiply(b);System.out.println(a.toString()+"\n");

}

}

12:什么是UML?它由哪几部分组成?

答:

UML是图形化()即可视化的建模语言,成为面向对象建模的标准语言。

它由四部分组成:(1)视图(2)图(3)模型元素(4)通用机制

13. 常用的类与类之间的关系有哪几种。

答:有关联、依赖、流、泛化、实现、使用。

Java语言程序设计(郑莉)

第三章课后习题答案

1.设N为自然数:

n!=1*2*3*….*n

称为n的阶乘,并且规定0!=1.试编程计算2!,4!,6!he 10!.并将结果输出到屏幕上。答:

public class Mul

{

public static void main(String args[])

int i,n;

float s;

for(n=0;n<=10;n=n+2)

{

if(n==0)

System.out.println("0!=1\n");

else

{s=1;

for(i=1;i<=n;i++)

s=s*i;

System.out.println(n+"!="+s+"\n");

}

}

}

}

2.编写程序,接收用户从键键盘上输入的三个整数x,y,z..从中选出最大和最小者,并编程实现。

答:public class Math{

public static void main(String args[]){

int[] IntArg = new int[args.length];

for(int i=0;i

IntArg[i] = Integer.parseInt(args[i]);

int max,min;

max=IntArg[0]>IntArg[1]?IntArg[0]:IntArg[1];

max=max>IntArg[2]?max:IntArg[2];

min=IntArg[0]

min=min

System.out.println("max="+max);

System.out.println("min="+min);

}

}

3.求出100一枚的宿舍,并将这些数在屏幕上5个乙杭地显示出来。答:

public class Su{

public static void main(String args[]){

int n,i,k=0,y;

for(n=2;n<=100;n++){

y=1;

for(i=2;i

if(n%i==0)

{y=0;break;}

if(y==1){

k++;

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

if(k%5==0)

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

}

}

}

}

4.使用https://www.360docs.net/doc/435537421.html,ng.Math类,生成100个0---99之间的随机整数,找出他们之中的最大值和最小值,并统计大于50的整数个数。

public class Random{

public static void main(String[] args)

{

int MinNum,MaxNum,n=0;

int[] array=new int[100];

array[0]=(int)(Math.random()*100);

MinNum=array[0];

MaxNum=array[0];

System.out.println("数列为:");

System.out.print(array[0]+" ");

for(int i=0;i<100;i++)

{

array[i]=(int)(Math.random()*100);

if(array[i]>50)

n++;

if(array[i]>=MaxNum)

MaxNum=array[i];

if(array[i]<=MinNum)

MinNum=array[i];

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

}

System.out.println();

System.out.println("MinNum="+MinNum);

System.out.println("MaxNum="+MaxNum);

System.out.println("大于50的整数个数有:"+n);

}

}

7.什么是异常?解释抛出、捕获的含义。

答:异常又称为例外,是特殊的运行错误对象,在程序中可以强制编译器来处理程序运行中的发生的并非由程序本身所造成的错误;

抛出异常:把生成异常对象并提交的过程称为抛出异常;

抛出异常是java中一个程序处理动作,检查异常时要么在方法中声明一个异常抛出,用try-catch语句捕获异常,并进行处理。

8.简述Java的异常处理机制。

答:java中声明了很多异常类,每个异常类都代表了一种运行错误,类中包含了该运行错误的信息和处理错误的方法等内容。每当java程序运行过程中发生一个可识别的运行错误时,即该错误有一个异常类与之相对应时,系统都会产生一个相应的该异常类的对象,即产生一个异常。一旦一个异常对象产生了,系统中就一定有相应的机制来处理它,确保不会产生死机、死循环或其他对操作系统的损害,从而保证了整个程序运行的安全性。

9.系统定义的异常与用户自定义的异常有何不同?如何使用这两类异常?

答:系统定义的特定情况出现的问题,而此时用来对可能遇到的问题进行处理。用户定义的是自己觉得可能会出现问题时,需要处理的。这样避免程序中断或是出现未知错误。

系统异常有两种一种是运行时异常,一种是普通异常,普通异常要求用户捕获或者抛出的,不补货或者抛出就会编译不通过。运行时异常编译可以通过,但是运行时才显露出来。10.用户如何自定义异常?编程实现一个用户自定义异常。

(1)定义mytest

import java.io.*;

public class mytest{

private static int quotient(int number,int denominator)throws

DivideByZeroException{

if(denominator==0)

throw new DivideByZeroException();

return(number/denominator);

}

public static void main(String args[]){

int number1=0,number2=0, result=0;

try{

System.out.println("输入第一个数字:");

number1=Integer.valueOf(Keyboard.getString()).intValue();

System.out.println("输入第二个数字:");

number2=Integer.valueOf(Keyboard.getString()).intValue();

result=quotient(number1,number2);

}

catch(NumberFormatException e){

System.out.println(e.toString());

System.exit(-1);

}

System.out.println(number1+"/"+number2+"="+result);

}

}

(2)定义DivideByZeroException

public class DivideByZeroException extends ArithmeticException{ public DivideByZeroException(){

super("除数不能为0!");

}

}

(3)定义Keyboard

import java.io.*;

public class Keyboard{

static BufferedReader inputStream=new BufferedReader(new InputStreamReader(System.in));

public static int getInteger(){

try{

return (Integer.valueOf(inputStream.readLine().trim()).intValue()); }catch(Exception e){

e.printStackTrace();

return 0;

}

}

public static String getString(){

try{

return(inputStream.readLine());

}catch(IOException e){return "0";}

}

}

Java语言程序设计

第四章课后习题答案

1.子类将继承父类所有的属性和方法吗?为什么?

答:不,子类不能直接访问从父类中继承的私有属性及方法,但可以对公有及保护方法进行访问。

2.方法的覆盖与方法的重载有何不同?

答:覆盖是运用在子类中实现与父类相同的功能,但采用不同的算法或公式;在名字相同的方法中,要做比父类更多的事情;在子类中需要取消从父类继承的方法。

8.什么是抽象类?抽象类中是否一定要包括抽象方法?

答:抽象类是一个不完全的类,不能使用new方法进行实例化。

抽象类可以包含抽象方法,也可以不包含抽象方法,但有抽象方法的必须是抽象类。

9.this和super分别有哪些特殊含义?都有哪些种用法?

答:this 表示当前类;super 表示调用父类。

在定义类的时候用到,this是当前对象的引用,super是当前对象的父类对象的引用,一般的都是把super用在构造函数中。

10.完成下面父类及子类的声明:

(1) 声明Student类属性包括学号、姓名、英语成绩、数学成绩、计算机成绩和总成绩。方法包括构造方法、get方法、set方法、toString方法、equals方法、compare方法(比较两个学生的总成绩,结果分为大于、小于、等于),sum方法(计算总成绩)和testScore方法(计算评测成绩)。

注:评测成绩可以取三门课成绩的平均分,另外任何一门课的成绩的改变都需要对总成绩进行重新计算,因此,在每一个set方法中应调用sum方法计算总成绩。

public class Student{

String id;

String name;

float scoreOfenglish;

float scoreOfmath;

float scoreOfcomputer;

float scoreOfsum;

//构造方法

public Student(){

}

public Student(String aid,String aname,float ascoreOfenglish,float ascoreOfmath,float ascoreOfcomputer){

this.id=aid;

https://www.360docs.net/doc/435537421.html,=aname;

this.scoreOfenglish=ascoreOfenglish;

this.scoreOfmath=ascoreOfmath;

this.scoreOfcomputer=ascoreOfcomputer;

//this.scoreOfsum=ascoreOfenglish+ascoreOfmath+ascoreOfcomputer;

this.scoreOfsum=sum();

}

//sum方法

public float sum(){

return(this.scoreOfenglish+this.scoreOfmath+this.scoreOfcomputer);

}

//testScore测评成绩/平均分

public float testScore(){

return(this.scoreOfsum/3);

}

//6个get方法

public String getid(){

return(id);

}

public String getname(){

return(name);

}

public float getscoreOfenglish(){

return(scoreOfenglish);

}

public float getscoreOfmath(){

return(scoreOfmath);

}

public float getscoreOfcomputer(){

return(scoreOfcomputer);

}

public float getscoreOfsum(){

return(scoreOfsum);

}

//5个set方法

public void setid(String newid){

this.id=newid;

}

public void setname(String newname){

https://www.360docs.net/doc/435537421.html,=newname;

}

public void setscoreOfenglish(float newscoreOfenglish){

this.scoreOfenglish=newscoreOfenglish;

this.scoreOfsum=sum();

}

public void setscoreOfmath(float newscoreOfmath){

this.scoreOfmath=newscoreOfmath;

this.scoreOfsum=sum();

}

public void setscoreOfcomputer(float newscoreOfcomputer){

this.scoreOfcomputer=newscoreOfcomputer;

this.scoreOfsum=sum();

}

//toString方法

public String toString(){

return("学号:"+this.id+"\n姓名:"+name+"\n英语:"+this.scoreOfenglish+"\n数学:"+this.scoreOfmath+"\n计算机:"+this.scoreOfcomputer+"\n总分:"+this.scoreOfsum);

}

//compare方法/比较2学生总分

public void compare(Student x){

if(this.getscoreOfsum()>x.getscoreOfsum())System.out.println(this.getname()+"总分大于"+x.getname());

if(this.getscoreOfsum()

else System.out.println(this.getname()+"总分等于"+x.getname());

}

//equals方法/比较2学生学号是否相等(还没完善)

/*

* public boolean equals(Object x){

if(this.getClass()!=x.getClass())return false;

Student b=(Student)x;

if(this.id==b.getid())return true;

}

*/

}

(2)声明StudentXW(学习委员)类为Student类的子类。

在StudentXW类中增加责任属性,并重写testScore方法(评测成绩=三门课平均分+3)

public class StudentXW extends Student{

String responsibility;

//构造方法

public StudentXW(){

super();

//responsibility=" ";

}

public StudentXW(String aid,String aname,float ascoreOfenglish,float ascoreOfmath,float ascoreOfcomputer,String aresponsibility){

super(aid,aname,ascoreOfenglish,ascoreOfmath,ascoreOfcomputer);

responsibility=aresponsibility;

}

//testScore测评成绩/平均分

public float testScore(){

return(this.scoreOfsum/3+3);

}

//toString方法

public String toString(){

return("学号:"+this.id+"\n姓名:"+name+"\n英语:"+this.scoreOfenglish+"\n数学:"+this.scoreOfmath+"\n计算机:"+this.scoreOfcomputer+"\n总分:"+this.scoreOfsum+"\n职位:"+this.responsibility);

}

}

(3)声明StudentBZ类为Student类的子类

在StudentBZ类中增加责任属性,并重写testScore方法(评测成绩=三门课平均分+5)

public class StudentBZ extends Student{

String responsibility;

//构造方法

public StudentBZ(){

super();

//responsibility="";

}

public StudentBZ(String aid,String aname,float ascoreOfenglish,float ascoreOfmath,float ascoreOfcomputer,String aresponsibility){

super(aid,aname,ascoreOfenglish,ascoreOfmath,ascoreOfcomputer);

responsibility=aresponsibility;

}

//testScore测评成绩/平均分

public float testScore(){

return(this.scoreOfsum/3+5);

}

//toString方法

public String toString(){

return("学号:"+this.id+"\n姓名:"+name+"\n英语:"+this.scoreOfenglish+"\n数学:"+this.scoreOfmath+"\n计算机:"+this.scoreOfcomputer+"\n总分:"+this.scoreOfsum+"\n职位:"+this.responsibility);

}

}

4)声明测试类,生成若干个Student类、StudentXW类及StudentBZ类对象,并分别计算它们的评测成绩(建议采用:写一个测试函数,该函数以父类student数组作为参数) 。

import java.te x t.*;

public class te st4_10{

public static void main(String args[]){

Student su=new Student("001","苏轼",56.00f,87.00f,95.00f);

Student du=new Student("002","杜甫",86.00f,75.00f,80.00f);

Student bai=new Student("003","白居易",42.00f,77.00f,65.00f);

Student liu=new Student("004","柳宗元",67.00f,67.00f,67.00f);

StudentXW ou=new StudentXW("005","欧阳修",89.00f,98.00f,90.00f,"数学代表");

StudentXW wang=new StudentXW("006","王安石",98.00f,87.00f,36.00f,"英语代表");

StudentBZ li=new StudentBZ("007","李白",89.00f,87.00f,87.00f,"班长");

System.out.print(li);

System.out.println("\n评测成绩:"+new DecimalFormat("0.00").format(li.testScore()));

System.out.println();

System.out.print(wang);

System.out.println("\n评测成绩:"+new DecimalFormat("0.00").format(wang.testScore()));

System.out.println();

System.out.print(ou);

System.out.println("\n评测成绩:"+new DecimalFormat("0.00").format(ou.testScore()));

System.out.println();

System.out.print(su);

System.out.println("\n评测成绩:"+new DecimalFormat("0.00").format(su.testScore()));

System.out.println();

System.out.print(du);

System.out.println("\n评测成绩:"+new DecimalFormat("0.00").format(du.testScore()));

System.out.println();

System.out.print(bai);

System.out.println("\n评测成绩:"+new DecimalFormat("0.00").format(bai.testScore()));

System.out.println();

System.out.print(liu);

System.out.println("\n评测成绩:"+new DecimalFormat("0.00").format(liu.testScore()));

}

}

运行test4_10的结果如下:

(很好玩吧,李白,我让你挂科。)

11.包有什么作用?如何创建包和引用包中的类?

答:包是一种松散的类的组合,一般不要求处于同一包中的类型有明确的相互关系,但由于同一包中的类在默认情况下可以相互访问,所以为了方便编程和管理,通常把需要在一起工作的类放在一个包里。利用包来管理类,可实现类的共享与复用。

在操作系统中,目录用来组织文件,设置权限。只要在要用到包中类的时候,在该引用类的第一行加上:package (包的全路径)即可。

Java语言程序设计

第五章课后习题答案

1.什么是接口?接口起什么作用?接口与抽象类有何区别?

答:Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

作用:接口是面向对象的一个重要机制,使用接口可以实现多态继承;接口中的所有方法都是抽象的,这些抽象方法由实现这一接口的不同类型来具体;接口还可以用来实现不同类之间的常量共享。

与抽象类不同的是:接口允许在看起来不相干的类之间定义共同行为。

3.在什么情况下,可以对父类对象的引用进行强制类型转换,使其转化成子类对象的引用?答:一个对象被塑型为父类或接口后,可以再一次被塑型回到它原来所属的类,即转化成原类对象的引用。

4.声明一个接口,此接口至少具有一个方法;在一个方法中声明内部类实现此接口,并返回此接口的引用。

//A类接口

public interface A{

void fuck();

}

//B类

public class B{

public A fuck(){

return new A(){

public void fuck(){

System.out.println("B类声明实现A接口类并返回接口的应用——Fuck you!");

}

};/*注意这里有分号“;”*/

}

}

//test5_4

public class test5_4 {

public static void main(String[] args){

new B().fuck().fuck();

}

}

运行结果:

7.什么是多态?如何实现多态?

答:多态性是指不同类型的对象可以响应相同的消息。利用向上塑性技术,一个父类的应引用变量可以指向不同的子类对象;而利用动态绑定技术,可以再运行时根据父类引用变量所指对象的世纪类型执行相应的子类方法,从而实现多态性。

Java语言程序设计

第六章课后习题答案

3.创建一存储若干随机整数的文本文件,文件名、整数的个数及范围均由键盘输入。// memory存储类

import java.io.*;

import java.util.Random;

public class memory {

private String name;

private int count;

private int Max;

private int Min;

public memory(String n,int c,int min,int max){

https://www.360docs.net/doc/435537421.html,=n;

this.count=c;

this.Min=min;

this.Max=max;

}

public void startmemory(){

try{

FileWriter out=new FileWriter(name);

int limit=Max-Min;

Random random = new Random();

for (int i=1;i<=count;i++){

int number=Min+random.nextInt(limit);

System.out.print(number);

System.out.print(" ");

out.write(number+" ");

}

out.close();

}catch(IOException iox){

System.out.println("方法startmemory()有问题");

}

}

}

//test6_3

import java.io.*;

import java.util.Scanner;

public class test6_3 {

public static void main(String[] args) throws IOException{ //BufferedReader

String fileName;

int count,min,max;

Scanner in = new Scanner(System.in);

System.out.println("输入要存储的文件名");

fileName=in.next();

System.out.println("输入随机数个数");

count=in.nextInt();

System.out.println("输入随机数最小值");

min=in.nextInt();

System.out.println("输入随机数最大值");

max=in.nextInt();

memory M=new memory(fileName,count,min,max);

M.startmemory();

}

}

}

运行结果:

naruto文件存储二进制数:

6.用记事本程序创建一篇包含几十个英语单词的小文章,要求从屏幕输出每一个单词。//test6_6

import java.io.*;

public class test6_6 {

public static void main(String[] args)throws IOException { FileReader fr=new FileReader("naruto.txt");

int s;

while((s=fr.read())!=-1){

if(s>='a'&& s<='z'|| s>='A' && s<='Z')

System.out.print((char)s);

else

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

}

fr.close();

}

}

运行结果:

8.创建一个学生类(包括姓名、年龄、班级、密码),创建若干该类的对象并保存在文件中(密码不保存),从文件读取对象后显示在屏幕上。

//Student类

import java.io.Serializable;

class Student implements Serializable{

String name;

int age;

int grade;

transient String secret;

public Student(String name,int age,int grade,String secret){ https://www.360docs.net/doc/435537421.html,=name;

this.age=age;

this.grade=grade;

this.secret=secret;

}

}

//test6_8

import java.io.*;

public class tset6_8 {

public static void main(String[] args) throws

IOException,ClassNotFoundException{

Student student[]={

new Student("苍井空",19,101,"changjingkong"),

new Student("吉沢明",19,103,"jizeming"),

new Student("武藤兰",20,104,"wutenglan"),

new Student("我爱女优",21,105,"woainvyou")};

//创建输出

04747java语言程序设计(一)20120年01月试卷

全国2012年1月高等教育自学考试 Java语言程序设计(一)试题 课程代码:04747 一、单项选择题(本大题共10小题,每小题1分,共l0分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下面供选字符序列中,不属于 ...Java语言关键字的是( ) A.inner B.throw C.false D.throws 2.表达式“-1>>>1”的十进制值是( ) A.-2 B.231-1 C.-(231-1) D.232-1 3.Java语言中,在类定义时用final关键字修饰,是指这个类( ) A.子类必须实现父类未实现的方法 B.没有具体实现代码 C.必须要有实例 D.不能被继承 4.表达式"java程序设计".1ength()的值是( ) A. 0 B.12 C. 8 D.13 5.以下关于BorderLayout布局的叙述中,不正确 ...的是( ) A.把容器内的空间划分成5个区域 B.加入组件应该指明要放入的区域 C.是框架窗口的默认布局 D.一个位置可直接放多个组件 6.利用文件对话框打开或保存文件,在打开文件对话框之前,可用FileFilter类设置筛选条件,其所用的两个方法是( ) A.accept()和getSelectedFile() B.accept()和getDescription() C.accept()和setDescription() D.setDescription()和getDescription() 7.设已经有Graphics2D对象g2d,RoundRectangle2D对象rRect,绘制对象rRect的代码是( ) A.g2d.draw(rRect) B.g2d.drawRoundRect(rRect) C.rRect.draw() D.rRect.drawRoundRect() 8.以下关于线程互斥和同步的叙述中,正确的是( ) A.临界段是线程互斥使用资源的程序段 B.临界段能使线程使用其它线程的资源 浙04747# Java语言程序设计(一)试卷第1页(共12页)

自考Java语言程序设计试题及答案解析

自考J a v a语言程序设计试题及答案解析 文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]

2015年10月高等教育自学考试全国统一命题考试 Java语言程序设计(一) 试卷 (课程代码04747) 本试卷共13页,满分100分.考试时间150分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸. 2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑. 3.第二部分为非选择题。必须注明大、小题号.使用0.5毫米黑色字迹签字笔作答. 4.合理安排答题空间.超出答题区域无效。 第一部分选择题 一、单项选择题(本大题共10小题.每小题1分.共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的。请将其选出并将“答题卡” 的相应代码涂黑。未涂、错涂或多涂均无分. 1.以下字符组合中,不能作为Java整型常量的是 A.037 B.0x3ADG C.7000 D.0x3abcL 2.以下程序代码的输出结果是 3.设有数组定义,则x.length的值为 A.2 B.3 C.4 D.5 4. 设有字符串String s=〝ABCDEFGABC〞;,则表达式s.indexOf(〝A〞,7)的值是 A.7 B.6 C.3 D.0 5.以下关于Swing与AWT之间关系的叙述中,正确的是 A.Swing是AWT的提高和扩展

B.在写GUl程序时,AWT和Swing不能同时使用 C.AWT和Swing在不同的平台上都有相同的表示 D.AWT中有一些类是从Swing中的一些继承的 6.以下供选择的类中,其子类能用来创建框架窗口的是 A.JWindow B.JFrame C.JDialog D.JAudio 7.某程序定义了一个子类,并要让它实现多线程,以下正确的步骤是 A.继承Thread类,在类内定义run( )方法,声明和创建线程对象,并让该对象调用 start( )方法。 B.继承Thread类,在类内定义run( )方法,声明线程对象,并让该对象调用start( )方法。 c.声明实现Runnable接口,在类内实现run( )方法,声明线程对象,创建线程,并调用start( )方法。 D.声明实现Runnable接口,在类内实现run( )方法,声明和创建线程对象,并让该对象调用start( )方法。 8.大多数采用缓冲式输入数据文件的程序的主要目的是 A.用readLine( )方法按行输入字符 B.提高输入速度 C.更快地读入字符数据 D.用read( )方法输入任意个字符 9.在打开文件对话框时,可用FileFilter类设置筛选条件,在以下供选择的方法中,是 FileFilter类预设的方法之一的是 A.setFileFilter( ) B.addFileFilter( ) C.accept( ) D.setDescription( ) 10.对访问数据库的Java程序来说,DriverManager类的作用是

2016年《高级语言程序设计》期末考试题及答案

2016年下半年《高级语言程序设计(高起 专)》期末考试试题 1. ( 单选题) 以下程序的输出结果是()。 main() {int i,k,a[10],p[3]; k=5; for(i=0;i<10;i++) a[i]=i; for(i=0;i<3;i++) p[i]=a[i*(i+1)]; for(i=0;i<3;i++) k+=p[i]*2; printf("%d\n",k); } (本题2.0分) A、20 B、21 C、22 D、23 标准答案:B 2. ( 单选题) 有以下程序,输出结果是() float fun(int x,int y) { return(x+y); } main() {

int a=2,b=5,c=8; printf("%3.0f\n",fun((int)fun(a+c,b),a-c)); } (本题2.0分) A、9 B、21 C、9.0 D、编译出错 标准答案:A 3. ( 单选题) C语言程序的基本单位是()(本题2.0分) A、程序行 B、语句 C、函数 D、字符 标准答案:C 4. ( 单选题) 一个 C 程序的执行是从( )(本题2.0分) A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 标准答案:C 5. ( 单选题) 一个 C 语言程序是由( )(本题2.0分)

A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 标准答案:B 6. ( 单选题) 变量的指针,其含义是指该变量的()(本题2.0分) A、值 B、名 C、地址 D、一个标志 标准答案:C 7. ( 单选题) C语言提供的合法的数据类型关键字是_____(本题2.0分) A、Double B、short C、integer D、Char 标准答案:B 8. ( 单选题) 以下关于数组的描述正确的是( )(本题2.0分) A、数组的大小是可变的,可以有不同的类型的数组元素 B、数组的大小是固定的,所有数组元素的类型必须相同

Java语言程序设计课后习题答案

Java语言程序设计(郑莉) 第二章习题答案 1.什么是对象、类,它们之间的联系 答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。 2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!3)两者的关系:对象是类的具体实例.。 2.什么是面向对象的程序设计方法它有那些基本特征 答:面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。 它的特征:抽象,封装,继承,多态。 3(无用) 4.请解释类属性、实例属性及其区别。 答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。 5.请解释类方法、实例属性及其区别。 答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。 类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。 区别:实例方法可以直接访问实例变量,调用实例方法,实例方法可以直接访问类变量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法; 6.类的访问控制符有哪几种具体含义及其区别。 答:类的访问控制符只有public(公共类)及无修饰符(默认类)两种。 区别:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类可以使用类。 7类成员的访问控制符有哪几种他们对类成员分别有哪些访问限制的作用 答:类成员的访问控制符有 public,private,protecte及无修饰符. public(公有的):用public修饰的成分表示公有的,也就是它可以被其他任何对象访问(前提是对累成员所在的类访问有访问权限). Private(保护的):类中限定为private的成员只能被这个类本身 访问,在类外不可见。 proteced(保护的)用该关键字修饰的成分是受保护的,只可以被同一类及其子类的实例对象访问。 无修饰符(默认的):public,private,protected这个三个限定符不是必须写的。如果不写,则表明是“friendly”,相应的成分可以被所在保重的各类访问。 8简述构造方法的特点答:构造方法主要有以下特点: (1)构造方法的方法名与类名相同; (2)构造方法没有返回类型(修饰符void也不能有);(3)构造方法通常被声明为公有的(public); (4)构造方法可以有任意多个参数; (5)构造方法的主要作用是完成对象的初始化工作; (6)构造方法不能在程序中显式的调用; (7)在生成一个对象时,系统会自动调用该类的构造方法为新生成的对象初始化。 9如果在类声明中声明了构造方法,系统是否还提供默认的构造方法 答: 用户在进行类声明时,如果没有声明任何构造方法,系统会赋给此类一个默认(无参)的构造方法。但是,只要用户声明了构造方法,即使没有声明无参的构造方法,系统也不会再赋默认的构造方法。 10:声明Patient类表示在门诊室中的病人。此类对象应包括name(astring)\sex(achar)、age(an integer)、weight(a float0、allergies(a boolean). 声明存取及修改方法。在一个单独的累中,声明测试方法,并生成两个patient的例子: Atient april=new Patient(); (“zhangli”) (‘f’);; (330; ; (true); 那么:”+()); ”+()); ”+()); (“weught: ”+());\ ”+()); 声明并测试toString()方法显示一个病人的aga、sex、name及allergies属性。 答: public class Patient { private String name; private char sex; private int age; private float weight; private boolean allergies; public void setname(String a) { name=a; } public void setsex(char b) { sex=b; }

Java程序设计习题附答案(一)

Java程序设计题库 第一部分绪论 1、下列关于Java语言的特点,描述错误的是(C) A.Java是跨平台的编程语言B.Java支持分布式计算 C.Java是面向过程的编程语言D.Java支持多线程 2、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?(B) A、安全性 B、多线性 C、跨平台 D、可移植 3、Java JDK中调试器的命令是(C)。 A、javac B、java C、jdb D、avah 4、运行jar文件中class文件需要在java命令后面加的参数为(A)。 A、-cp B-g C-d D-verbose 5、下面哪项在java中是不合法的标识符?(C) A、$user B、point C、You&me D、_endline 6、下面关于Java语言说法正确的是(ABCD)。 A、Java语言是面向对象的、解释执行的网络编程语言。 B、Java语言具有可移植性,是与平台无关的编程语言。 C、Java语言可对内存垃圾自动收集。 D、Java语言编写的程序虽然是“一次编译,到处运行”,但必须要有Java的运行环境。 7、在Java程序设计中,程序员创建()文件,然后编译器把它们转化为()文件。( B) A、源, HTML B、源, 字节代码 C、字节代码, 源 D、HTML, 字节代码 8、Java的JVM是指(B)。 A、由Java操作的家用设备(通常是一个漂亮的小烤箱) B、Java字节代码的解释程序 C、Java源代码的编译器 D、运行Java 所需的硬件设备 9、在Java中,关于CLASSPA TH环境变量的说法不正确的是(A)。 A、CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B、编译器用它来搜索各自的类文件。 C、CLASSPATH是一个目录列表。 D、解释器用它来搜索各自的类文件。 10、一个可以独立运行的Java应用程序(D)。

自考Java语言程序设计试题及答案解析

2015年10月高等教育自学考试全国统一命题考试 Java语言程序设计(一) 试卷 (课程代码04747) 本试卷共13页,满分100分.考试时间150分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸. 2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑. 3.第二部分为非选择题。必须注明大、小题号.使用0.5毫米黑色字迹签字笔作答. 4.合理安排答题空间.超出答题区域无效。 第一部分选择题 一、单项选择题(本大题共10小题.每小题1分.共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的。请将其选出并将“答题卡” 的相应代码涂黑。未涂、错涂或多涂均无分. 1.以下字符组合中,不能作为Java整型常量的是 A.037 B.0x3ADG C.7000 D.0x3abcL 2.以下程序代码的输出结果是 3.设有数组定义,则x.length的值为 A.2 B.3 C.4 D.5

4. 设有字符串String s=〝ABCDEFGABC〞;,则表达式s.indexOf(〝A〞,7)的值是 A.7 B.6 C.3 D.0 5.以下关于Swing与AWT之间关系的叙述中,正确的是 A.Swing是AWT的提高和扩展 B.在写GUl程序时,AWT和Swing不能同时使用 C.AWT和Swing在不同的平台上都有相同的表示 D.AWT中有一些类是从Swing中的一些继承的 6.以下供选择的类中,其子类能用来创建框架窗口的是 A.JWindow B.JFrame C.JDialog D.JAudio 7.某程序定义了一个子类,并要让它实现多线程,以下正确的步骤是 A.继承Thread类,在类内定义run( )方法,声明和创建线程对象,并让该对象调用 start( )方法。 B.继承Thread类,在类内定义run( )方法,声明线程对象,并让该对象调用start( ) 方法。 c.声明实现Runnable接口,在类内实现run( )方法,声明线程对象,创建线程,并 调用start( )方法。 D.声明实现Runnable接口,在类内实现run( )方法,声明和创建线程对象,

高级语言程序设计期中试卷B

上海电机学院 2010–2011学年第 2 学期 《高级语言程序设计》期中考试试卷B 2011.5 开课学院:电子信息学院, 考试形式:闭卷, 所需时间 90 分钟 考生姓名: 学号: 班级 一、填空题(共20分,每空格1分) 1.将数学式b a x ) (sin 2转换成C 语言表达式 。 2.getchar 函数的作用是 。 3.C 语言程序的基本单位是函数。程序的执行总是从 开始。 4.在C 程序中,逻辑运算符的操作对象,用 表示“真”,用 表示“假”。在求逻辑值时,用 表示逻辑表达式值为“真”,用 表示逻辑表达式值为“假”。 5.执行 printf("%d\n",(int)(2.5+3.0)%2); 的输出结果是 。 6.C 语言提供的三种逻辑运算符为: 、 和 。 7.设整型变量 x 、y 、z 均为3:则 ①执行"x -=y+x"后,x = ②执行"x %=y +z"后,x = 8. 设有说明语句:int a=21, b=6; 则a/b 的十进制数值为________ 9. 设有说明语句:int x=3, y=2; 则计算表达式(x=5) || (y=6*x) 后变量y 的值是________ 10 设a,b,c,t 为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2后, t 的值是 11.结构化程序设计的三种基本结构是 结构, 结构和 结构。 12.设定义 int k=1,n=163;执行下面程序段后,k 的值是 。 do { k*=n%10; n/=10; } while(n); 二、选择题 (共17分,每小题1分) 1.表达式3/5的值为: ( ) A . 0 B . 0.6 C . 0.600000 D .1 2.表达式“9!=9”的值是 ( ) A . true B .非0值 C . 0 D .1 3.设ch 是char 型变量,其值为‘A ’,则下面表达式的值是 ( )

Java程序设计实用教程_习题解答

习题 1 1.James Gosling 2.需3个步骤: 1)用文本编辑器编写源文件 2)使用Java编译器(javac.exe)编译源文件,得到字节码文件。 3)使用java解释器(java.exe)来解释执行字节码文件。 3.D:\JDK 1) 设置path 对于Windows 2000/2003/XP,右键单击“我的电脑”,在弹出的快捷菜单中选择“属性”,弹出“系统特性”对话框,再单击该对话框中的“高级选项”,然后单击“环境变量”按钮,添加系统环境变量path。如果曾经设置过环境变量path,可单击该变量进行编辑操作,将需要的值d:\jdk\bin加入即可(注意:修改系统环境变量path后要重新打开DOS窗口编译)。或在DOS窗口输入命令行: set path=d:\jdk\bin(注意:用此方法修改环境变量每次打开DOS窗口都需要输入该命令行重新进行设置)。 2) 设置classpath 对于Windows 2000/2003/XP,右键单击“我的电脑”,在弹出的快捷菜单中选择“属性”,弹出“系统特性”对话框,再单击该对话框中的“高级选项”,然后单击“环境变量”按钮,添加系统环境变量classpath。如果曾经设置过环境变量classpath,可单击该变量进行编辑操作,将需要的值d:\jdk\jre\lib\rt.jar;.;加入即可。或在DOS窗口输入命令行: set classpath= d:\jdk\jre\lib\rt.jar;.;。 4.(B)javac 5.Java源文件的扩展名是”.java”,Java字节码的扩展名是”.class” 6.Java应用程序主类的main申明(D)public static void main(String args[])

高级语言程序设计(C)模拟试题二

高级语言程序设计(C)模拟试题二 一、单项选择题(每题3分,合计60分) 1.自定义标识符中,符合C语言规定的是。 A. for B. 3a C. *a D. _123 2.为表示关系100≥x≥10,应使用C语言表达式。 A. (100>=x)&&(x>=10) B. (100>=x) AND (x>=10) C. (100>=x>=10) D. (100>=x)&(x>=10); 3.定义int a; float f; double i; 表达式15+i*f+ˊAˊ的值是。 A. float B. int C. char D. double 4.下面程序要求从键盘上输入值并打印,请选择正确的输入方法。 main( ) { int a,b; scanf("x=%d,y=%d",&x,&y); printf("x=%d,y=%d\n",x,y); } A. 5,6 B. x=5, y=6 C. 5↙6 D. 5 6 5.定义如下变量和数组: int i; int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是。 for(i=0;i<3;i++) printf("%d",x[i][2-i]); A. 1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 9 6.在定义了 int a[3][2];之后,对a的引用正确的是。 A.a[3][2] B.a[3][0] C.a[0][0] D.a[0,0] 7.执行以下程序段后,m的值为。 int a[2][3]={{1,2,3},{4,5,6}}; int m,*p; p=&a[0][0]; m=(*p)+(*(p+2))+(*(p+4)); A. 9 B. 8 C. 7 D. 6

《Java语言程序设计基础教程》习题解答

《Java语言程序设计基础教程》练习思考题参考答案

第1章Java程序设计概述 1.9 练习思考题 1、Java运行平台包括三个版本,请选择正确的三项:() A. J2EE B. J2ME C. J2SE D. J2E 解答:A,B,C 2、Java JDK中反编译工具是:() A. javac B. java C. jdb D. javap 解答:D 3、public static void main方法的参数描述是:() A. String args[] B. String[] args C. Strings args[] D. String args 解答:A,B 4、在Java中,关于CLASSPATH环境变量的说法不正确的是:() A. CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B. 编译器用它来搜索各自的类文件。 C. CLASSPATH是一个目录列表。 D. 解释器用它来搜索各自的类文件。 解答:A 5、编译Java Application源文件将产生相应的字节码文件,扩展名为() A. .java B. .class C. .html D. .exe 解答:B 6、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。 7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。 8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生______个文件名与类名相同而扩展名为______的字节码文件。 9、开发与运行Java程序需要经过哪些主要步骤和过程? 10、Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎么样的? 11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。

Java程序设计基础习题答案

Java程序设计基础课后习题参考答案 第2章 1、关于Java Application得入口方法main()得检验: main()方法得参数名就是否可以改变? main()方法得参数个数就是否可以改变? 该方法名就是否可以改变? 参考答案:(1)main()方法得参数名可以改变.(2)main()方法得参数个数不可以改变。(3)该方法名不可以改变。 2、当一个程序没有main()方法时,能编译吗?如果能编译,能运行吗? 参考答案:当一个程序没有main()方法就是,就是可以编译通过得,但就是不能给运行,因为找不到一个主函数入口。 3、下列语句能否编译通过? bytei =127; bytej = 128; longl1 = 999999; long l2= 9999999999; 参考答案:byte i 与long l1可以编译通过。而byte j 与longl2 超出自身数据类型范围,所以编译失败。 4、下列语句能否编译通过? float f1 =3、5; float f2 = 3.5f; 参考答案:java中浮点型得数据在不声明得情况下都就是double型得,如果要表示一个数据就是float型得,必须在数据后面加上“F”或“f”;因此,floatf1 无法编译通过。 5、验证int 与char,int与double等类型就是否可以相互转换。 参考答案:(1)char类型可以转换为int 类型得,但就是int类型无法转换为char类型得;(2)int 可以转换为double类型得,但就是double类型无法转换为int 类型得。 6、计算下列表达式,注意观察运算符优先级规则。若有表达式就是非法表达式,则指出不合法之处且进行解释。 (1)4+5 == 6*2 ?(2) (4=5)/6?? (3)9%2*7/3>17(4)(4+5)<=6/3 ? (5) 4+5%3!=7-2????(6)4+5/6〉=10%2 参考答案:表达式(2)为不合法表达式,只能将值赋值给一个变量,因此其中(4=5)将5赋值给4就是不合法得. 7、下列()就是合法得Java标识符。 (1)Counter1 ??(2)$index, (3) name-7 ??(4)_byte

2016年10月自考Java语言程序设计(一)04747

2016年10月高等教育自学考试全国统一命题考试 Java语言程序设计(一)试卷 (课程代码 04747) 本试卷共9页,满分l00分,考试时间l50分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸。 2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。 3.第二部分为非选择题。必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。 4.合理安排答题空间,超出答题区域无效。 第一部分选择题(共l0分) 一、单项选择题(本大题共l0小题,每小题l分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。错涂、多涂或未涂均无分。淘宝店铺自考达人 V信1297755429 1.在下述字符串中,不是Java余言关键字的是 A.int B.static C.java D.try 2.要作下列数据类型转换,需进行强制类型转换才能实现的是 A.从int到char B.从int到 long C.从lloat到 double D.从byte到 int 3.在以下供选择的概念中,属于面向对象语言重要概念或机制的是 A.方法 B.模块 C.线程 D.继承 4.在下述Java程序代码中,能正确创建数组的是 A.int myA[5]={1,2,3,4,5); B.int myA[]=new int(5); C.int myA[];myA[]=new int[5]; D.int[]myA={1,2,3,4,5,6};5.某Java程序的类A需要利用Swin9创建无边框窗口,则A需要继承的类是A.JWindow B.JApplet C.JFrame D.JDialog 6.在以下供选的鼠标事件中,MouseMotionListener接口能处理的是 A.按下鼠标键 B.拖动鼠标 C.鼠标进入 D.鼠标松开7.在以下代码中,能正确创建Font对象的是 A.new Font(″宋体″,斜体,20); B.new Font(″楷体″,20,正常);C.new Font(″楷体″,Font.BOLD,l 8); D.new Font(″楷体″,1 8,Font.BOLD);8.某线程正处于运行状态,则在以下选项中,不可能是它的后继状态的是 A.就绪状态 B.新建状态 C.阻塞状态 D.死亡状态 9.某Java程序用类JFileChooser来实现打开和保存文件对话框。当对话框的返回 值是JFileChooser.APPROVE_OPTION时,程序进一步的工作是 A.用方法getName()取得文件名称 B.用方法getPathO()取得文件路径 C.用方法getFile()取得文件内容 D.用方法getSelectedFile()取得文件对象 10.Java语言实现C/S模式时,需要使用网络套接字,套接字的内容包括 A.IP地址+端口号 B.IP地址+监控线程名 C.监控线程名+端口号 D.IP地址+监控线程名+端口号 第二部分非选择题(共90分) 二、填空题(本大题共l0小题,每空2分,共20分) 11.一个Java小应用程序必须定义成一个子类,它的超类是______。 12.在Java语言中,左移运算符是______。 13.类A的成员变量x的类型是类B的,则类A和类B之间的关系是______。14.以下代码: 的输出结果是_______。 15.在JFrame子类的构造方法中,代码getContentPane0的作用是_______。16.用JScrollBar创建一个垂直滚动条对象时,需要指定的常量是_______。17.在异或模式下绘图时,实际绘制的颜色是由3种颜色作特定的运算确定的:当前正要绘 制的颜色、原先绘制的颜色以及_______。 18.处于运行状态的线程执行yield()方法,该线程将进入_______状态。 19.在Java语言中,客户端使用的套接字类是_______。 20.在Java语言中,DriverManager类的作用是加载驱动程序和_______。

高级语言程序设计练习题

(一)填空题: 1.C语言程序的基本单位是______________。 2.在C语言中,数字056是一个______________进制数,0xFF是一个______________进制数。 3.若程序中使用了函数scanf(),则必须包含的头文件名为。 4. 若程序中使用了函数strlen(),则必须包含的头文件名为。 5.C语言程序的三种基本结构是______________、______________、______________。 6.若程序中使用了函数sqrt(),则必须包含的头文件名为。 7.C语言中运算对象必须是整型的运算符是。 8.C语言中整型数据除以整型数据得到数据。 9.C语言源程序文件的扩展名是;经过编译后,所生成文件的扩展名是;经过链接后,所生成的文件扩展名是。 10. 若定义int a[3][5];则a数组所含数组元数个数是,sizeof(a)的值 是,其首地址是。 11.在C语言中,数组名是数组的,同时它是一个______ 常量。 12.判断字符型变量ch是否为小写英文字母的C语言表达式为____________________________。 13.判断变量a的数值范围1≤a≤10的C语言表达式是__________________ _________ _。 14.C语言运算符中,++和--的结合方向(运算方向)是___________________。 15.当用户输入的字符串含空格时,应使用 ___ 函数读入字符串。 16.函数直接或间接地调用自己本身称为_______________________。 17.已知w=1,x=2,y=3,z=3,a=4,b=2;则执行语句(a=w>x)&&(b=y>z);后,a的值为,b的值为。 18.字符串"student"的长度是,它在内存中的字节数为。 19. 设a、b、c为整型数,且a=2,b=3,c=4,则执行语句"a*=16+(b++)-(++c);"后,a的 值是。 20.执行int x,y,z;x=y=1;z=(x++,++y,y++);后, 则x= ,y= ,z= 。 21.定义语句int x,y;,执行y=(x=1,++x,x+2);语句后,则x= ,y= 。 22. 执行下列语句int a=2;a+=a-=a*a; 后,a的值是。 23.设函数外有整型变量n,为保证其在未赋值的情况下初值为0,应选择的存储类别是 _ _ _。

Java程序设计-习题参考答案

参考答案 第1章 3、计算机系统由哪两部分组成的?计算机硬件结构由哪几部分组成?它们各自有什么作用? 一台计算机由硬件和软件组成。一台典型的计算机由五大部分组成。这五大部分是:运算器,控制器,存储器,输入设备和输出设备。 运算器是执行算术运算和逻辑运算的部件。 控制器是向计算机其他部分发送命令的部件。 存储器是计算机用来存储数据、信息的部件。 输入设备就是外界向计算机输入信息设备。 输出设备恰好与输入设备的作用相反,它将处理过后的信息输出呈现给用户。 9、将以下十进制数转换为对应的二进制数 (1)32 (2)97 (3)256 (4)500 (1)100000 (2)1100001 (3)100000000 (4)111110100 第2章 1.Java语言有哪些主要特点。 平台独立性 安全性 多线程 网络化 面向对象 3.Java Application的开发步骤有哪些。 Java Application的开发步骤: (1)下载JDK软件并安装; (2)配置相应的环境变量(path和classpath); (3)编写Java源程序(文本编辑器或集成开发环境IDE); (4)编译Java源程序,得到字节码文件(javac *.java); (5)执行字节码文件(java 字节码文件名)。

4.什么是环境变量,设置环境变量的主要目的是什么。 环境变量的配置主要是为了进行“寻径”,也即让程序能找到它需要的文件,所以设置的内容就是一些路径。 第3章 1.Java语言对于合法标识符的规定是什么?指出以下哪些为合法标识符。 a a2 3a *a _a $a int a% 在Java语言中,标识符必须以字母、美元符号或者下划线打头,后接字母、数字、下划线或美元符号串。另外,Java语言对标识符的有效字符个数不做限定。 合法的标识符: a a2 _a $a 5.数据类型强制转换的原则是什么?如何转换? 对于变窄转换,如long到short、double到float,或者不兼容转换:float到short、char 到short等,则需要进行强制转换。 float f = 11.5; short b ; b = (short)f; (强制转换) 第4章 5.用穷举法求出3位数中百、十、个位数的立方和就是该数的数。 public class Test { public static void main(String[] args) { int a,b,c,x=100; while(x<1000){ a=x%10; b=(x%100-a)/10; c=(x-x%100)/100; if(a*a*a+b*b*b+c*c*c==x) System.out.println(x); x+=1;

高级语言程序设计--编写程序题+答案

1已知银行整存整取存款不同期限的月息利率分别为: 0.315% 期限一年 0.330% 期限二年 月息利率=0.345% 期限三年 0.375% 期限五年 0.420% 期限八年 要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。 2输入年份year和月month,求该月有多少天。判断是否为闰年,可用如下C语言表达式:year%4==0 && year%100!=0 || year%400==0。若表达式成立(即表达式值为1),则year为闰年;否则,表达式不成立(即值为0),year为平年。 3编写一个简单计算器程序,输入格式为:data1 op data2。其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。 4输入n值,输出如图所示矩形。 5输入n值,输出如图所示平行四边形。 6输入n值,输出如图所示高为n的等腰三角形。

7输入n值,输出如图所示高为n的等腰三角形。 8输入n值,输出如图所示高和上底均为n的等腰梯形。 9输入n值,输出如图所示高和上底均为n的等腰空心梯形。 10输入n值,输出如图所示边长为n的空心正六边型。 11输入n值,输出如图所示图形。

12输入n值,输出如图所示图形。

13输入n值,输出如图所示图形。 14输入n值,输出如图所示图形。 15输入n值,输出如图所示图形。

16输入n值,输出如图所示图形。(例为n=6时) 17编写程序,输出如图所示sin(x) 函数0到2π的图形。 18编写程序,在屏幕上输出一个由*号围成的空心圆。 19编写程序,在屏幕上绘制如图余弦曲线和直线。若屏幕的横向为x轴,纵向为y轴,在屏幕上显示0~360度的cos(x)曲线与直线x=f(y)=45*(y-1)+31的迭加图形。其中cos图形用"*"表示,f(y)用"+"表示,在两个图形的交点处则用f(y)图形的符号。

java语言程序设计课后习题答案

习题2 3.使用“= =”对相同内容的字符串进行比较,看会产生什么样的结果。 答:首先创建一个字符串变量有两种方式:String str = new String("abc"); String str = "abc"; 使用“= =”会因为创建的形式不同而产生不同的结果: String str1 = "abc"; String str2 = "abc"; =str2); ; public class Exercise51{ public static void main(String[] args) throws IOException{ "请输入一个整数:"); InputStreamReader isStream=new InputStreamReader; BufferedReader bfReader=new BufferedReader(isStream); String input=(); int length=()-1; int n=new Integer(input).intValue(); while(length>=0){ int divisor=(int) (10,length); length=length-1; int output=n/divisor; n=n%divisor; ","); } } } 法二:(建议使用) public class Exercise5{ public static void main(String[] args){ int n=1678; int unit; int decimal; int hundred; int thousand; thousand=n/1000%10; hundred=n/100%10; decimal=n/10%10; unit=n%10; "1678包含的数字分别是: "+thousand+','+hundred+','+decimal+', '+unit); } } ;

JavaWeb程序设计教程课后练习答案

第1章 Web应用开发简介 习题答案 1.Web在组成上包括______和______两部分。 答案: 服务器 客户端 2.谈谈对面向对象的认识。 答案: 面向对象将将要解决的问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙解决问题中的各个步骤中的行为。面向对象编程方式是建立在面向过程编程方式基础上,其最重要的改变在于面向对象编程中,程序将围绕被操作的对象来设计,而不是操作本身。面向对象编程方式以类作为构造程序的基本单位,具有封装、抽象、继承、多态性等特点。 3.介绍几种常用的框架技术。 答案: Java中常用的框架。 1.Struts Struts是Apache 基金会Jakarta 项目组的一个开源项目,是一个基于Sun J2EE平台的MVC框架,它将Servlet和JSP标签作为实现自身功能的一部分。 2.WebWork WebWork是由OpenSymphony组织开发的,是一个基于Web的MVC框架。它在运行时通过Interceptor(拦截器)自动应用,因此脱离了Action类。 3.Struts 2 Struts 2是Apache基金会的一个开源项目,它建立在Struts框架与WebWork框架基础之上,继承了二者的优点,是目前非常流行的一个Web框架。 4.Spring Spring是一个以IoC和AOP为核心的轻量级容器框架。它提供了一系列的Java EE开发解决方案,包括表示层的Spring MVC、持久层的Spring JDBC以及业务层事务管理等众

多的企业级应用技术。 5.Hibernate Hibernate是一个ORM(对象关系映射)框架,它对JDBC进行了轻量级的封装。通过使用Hibernate框架,开发人员能够以面向对象的思维方式来操作数据库。 6.Ibatis 相对于Hibernate而言,Ibatis是一个“半自动化”的ORM实现框架,它主要致力于POJO与SQL之间的映射关系,是对“全自动化”ORM框架的一种有益补充。 7.EasyJWeb EasyJWeb是一个核心基于模板技术实现的MVC框架,主要致力于Java Web应用程序的快速开发。 4.IDE的用途是什么? 答案: IDE是一种用于辅助开发人员开发应用程序的应用软件,它一般包括代码编辑器、编译器、调试器和图形用户界面工具,有的还包括版本控制系统、性能分析器等更多工具,因此IDE也就具有了编写、编译、调试等多种功能。正是基于这些功能,使用IDE能够减少项目的开发周期,减轻程序员的工作量,提高应用程序的开发效率等。 5.Web应用服务器的用途是什么? Web应用服务器是为创建、部署、运行以及管理Web应用提供多种运行时服务(如事务、安全等等)的分布式系统,它是应用程序运行的一个基本环境。

《高级语言程序设计》期末试题-刘坤良

天津工业大学计算机科学与软件学院 班级学号姓名 注意事项:1、本试卷共10 页,满分为100 分,考试时间为100分钟。 2、答题时请使用蓝、黑钢笔或圆珠笔,不得使用红颜色墨水笔。 除特殊要求外不得使用铅笔。 题目一二三四五总分分数核对 得分 阅卷人 答题纸部分(A1) 一、单项选择题:(每题 2 分,共20 分) (说明:将答案字母填写在答题纸中) 分数 1 2 3 4 5 6 7 8 9 10 二、填空题:(每空 2 分,共32 分) (说明:将答案填写在答题纸中) 分数 填空号答案填空号答案 (1)(2) (3)(4) (5)(6) (7)(8)

(9)(10) (11)(12) (13)(14) (15)(16) 分数三、阅读程序,写出程序输出结果:(每题 4 分,共20 分) (说明:将答案填写在答题纸中) (1)(2) (3)(4) (5) 分数四、程序填空:(每空 2 分,共 6 分) (说明:将答案填写在答题纸中)

填空号答案填空号答案 (1)(2) (3) 分数五、程序设计题:(共 2 题,共22 分) (说明:将答案填写在答题纸中)

试题部分(A1) 说明:将所有题目的答案均填写在前面的答题纸中!! 分数 一、单项选择题:(每题 2 分,共20 分) (说明:将答案填写在答题纸中) 1. 一个C程序的组成部分可以是。 A.一个主函数和一至若干个其他函数B.一至若干个主函数 C.一个主程序和一至若干个其他函数 D.一个主程序和一至若干个子程序 2. 以下叙述正确的是。 A.在C程序中,main函数必须位于程序的最前面 B.C程序的每行中只能写一条语句 C.C语言本身没有输入输出语句 D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误3.一个C程序的执行是从。 A.本程序的main函数开始,到main函数结束 B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束 D.本程序文件的第一个函数开始,到本程序main函数结束 4.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。 A.必须为字母B.必须为下划线 C.必须为字母或下划线 D.可以是字母、数字和下划线中任一种字符 5.设有语句int a=3;则执行语句a+=a-=a*a后,变量a的值是。 A.3B.0C.9D.-12 6. 若int i=10,执行下列程序: switch(i) {case9:i+=1; case10: case11:i-=1; default:i+=1; } 则变量i的结果是。

相关文档
最新文档