文档视界 最新最全的文档下载
当前位置:文档视界 › java语言程序设计教程第二版习题解答

java语言程序设计教程第二版习题解答

java语言程序设计教程第二版习题解答
java语言程序设计教程第二版习题解答

习题一

简述面向对象软件开发方法的重要意义。

【答】:

面向对象的软件开发方法按问题论域来设计模块,以对象代表问题解的中心环节,力求符合人们日常的思维习惯,采用“对象+消息”的程序设计模式,降低或分解问题的难度和复杂性,从而以较小的代价和较高的收益获得较满意的效果,满足软件工程发展需要。

2.解释下面几个概念:

1)对象2)实例3)类4)消息5)封装6)继承7)多态

【答】:

1)对象:就是现实世界中某个具体的物理实体在计算机中的映射和体现,是由属性和操作所构成的一个封闭整体。

2)实例:是对象在计算机内存中的映像。

3)类:是描述对象的“基本原型”,是描述性的类别或模板,即对一组对象的抽象。它定义一组对象所能拥有的共同特征,用以说明该组对象的能力与性质。4)消息:消息是对象之间进行通信的一种数据结构。

5)封装:封装性是保证软件部件具有优良的模块性的基础。面向对象的类是封装良好的模块,类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的作用域提供保护。

6)继承:继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。

7)多态:多态性是指一个名字具有多种语义,即指同一消息为不同对象所接受时,可以导致不同的操作。

对象“汽车”与对象“小汽车”是什么关系,对象“汽车”与“轮胎”又是什么关系?

【答】:

对象“汽车”与对象“小汽车”具有继承关系,即对象“小汽车”继承了对象“汽车”。“轮胎”是对象“汽车”的一个属性,所以对象“汽车”包含“轮胎”,二者是包含关系。

简述Java语言的主要特点。

【答】:

Java语言的主要特点:(1)简单性(2)面向对象(3)分布式(4)健壮性(5)结构中立(6)安全性(7)可移植(8)解释的(9)高性能(10)多线程(11)动态性

5.简述Java语言与C/C++语言的主要差异。

【答】:

Java基于C++,与之有许多相似之处,但其设计更易于使用,它们之间主要差异有:

(1)Java中无C/C++中最复杂并有潜在危险的指针

(2)Java无C/C++中的#include 、#define和头文件。

(3)Java无C/C++中的structure,union及typedef。

(4)Java无C/C++中的函数、指针和多重继承。

(5)Java无C/C++中的goto指令。

(6)Java无C/C++中的操作符重载(Operatior Overloading)、自动类型的转换。

(7)Java系统要求对对象进行相容性检查,以防止不安全的类型转换。(8) Java语言最强大的特性之一是它的平台独立性,Java可以处理好平台之间的移植问题。

(9)Java语言中没有全局变量的定义,只能通过公用的静态的变量实现,从而减少了引起错误的地方。

6.什么叫Java虚拟机?什么叫Java的字节码?

【答】:

Java虚拟机是一个软件系统,它可以翻译并运行Java字节码。它是Java的核心,保证了在任何异构的环境下都可运行Java程序,解决了Java的跨平台的问题。

Java的字节码(byte‐code)是与平台无关的是虚拟机的机器指令

7.简述Java程序的运行过程。

【答】:

首先编写Java源代码程序,通过Java虚拟机编译成.class的字节码程序。然后通过然后再执行翻译所生成的字节代码,属于先解释后执行方式。在运行时,字节码载入器用于调入包含、继承所用到的所有类,确定内存分配,变成真正可执行的机器码。由,再通过字节码校验器就是用于检验字节码是否正确,如果通过校验,再由系统执行平台解释执行。

8.Java程序分哪两类?各有什么特点?

【答】:

Java程序根据程序结构的组成和运行环境的不同可以分为两类:Java Application (Java独立应用程序)和Java Applet(Java小应用程序)。Java独立应用程序是一个完整的程序,需要独立的Java解释器来解释执行;而Java小应用程序则是嵌在Web页面中的非独立应用程序,由Web浏览器内部所包含的Java解释器来解释执行,为Web页面增加交互性和动态性。

习题二

Java语言对标识符命名有何规定,下面这些标识符哪些是合法的,哪些是不合法的。

1)Myname 2) JavaLanguage 3) 2Person 4) _is_Has 5) $12345。

【答】:

合法的标识符有:Myname、JavaLanguage、_is_Has

非法的标识符有:2Person、$12345

2.Java有哪些基本数据类型,与C/C++相比有何特点?复合数据类型是哪几种?

【答】:

基本数据类型有:整型数据类型(字节整型、短整型、整型、长整型),实数数据类型(单精度实数、双精度实数),字符数据类型和布尔数据类型。

与C/C++相比,Java的数据类型与C++相似,但有两点不同:①在Java语言中所有的数据类型是确定的,与平台无关,所以在Java中无sizeof操作符;②Java中每种数据类型都对应一个默认值。这两点体现了Java语言的跨平台性和完全稳定性。

Java的复合类型是由用户根据需要自己定义并实现其运算的数据类型,主要有类类型、接口和数组等。

Java的字符类型采用何种编码方案?有何特点?

【答】:

Java的字符类型采用16位Unicode(全球文字共享编码)方式,用16位来表示东西方字符。由于采用Unicode编码方案,使得Java在处理多语种的能力方面得到大大提高,从而为Java程序在基于不同语种之间实现平滑移植铺平了道路。

Java有哪些运算符和表达式?请写出下面这些表达式的运算结果(设a =2,b = –3, f = true)。

1)––a%b++ 2) (a>=1)&&a<=12?a:b) 3) f^(a>b) 4) (––a)<

【答】:

Java的运算符主要由算术运算符、关系运算符、条件运算符、位运算符、逻辑运算符以及赋值运算符。表达式由运算符、操作数和方法调用,按照语言的语法规则构造而成的符号序列。

表达式的结构是:

1)––a%b++的结果是:1

2)(a>=1)&&a<=12?a:b)的结果是:1

3)f^(a>b)的结果是:false

4)(––a)<

5.Java中标准输入输出使用哪种系统类、使用哪个对象和方法?

【答】:

通过系统类https://www.docsj.com/doc/8e16652580.html,ng.System达到访问标准输入输出的功能。System类管理标准输入输出流和错误流,有以下三个对象:

1)System.out:把输出送到默认的显示(通常是显示器)。常使用输出的方法有print()、

println()等。

2)System.in:从标准输入获取输入(通常是键盘)。常实现输入处理的方法有read()、skip()等;

3)System.err:把错误信息送到默认的显示。常见方法有print()、println()、write()等。

6.阅读下列程序,写出运行结果。

(1).

public class Example0401{

public static void main(String[] args){

for(int x=0;x<10;x++){

int y=x*x+x+41';

System.out.println("\t"+x+"\t"+y);

}

}

}

(2).菲波拉契数列:

public class Example02{

public static void main(String[] args){

System.out.print(0)

int fib0=0;

int fib1=1;

int fib2=fib0+fib1

while(fib2<100){

fib0=fib1;

fib1=fib2;

fib2=fib1+fib0;

System.out.print(","+fib1);

}

}

}

(3).产生0~20的随机整型,然后计算并打印它的结果:

import java.util.Random;

public class Example03{

public static void main(String[] args){

Random random=new Random();

float x=random.nextFloat();

int n=Math.round(21*x);

long f=1;

int k=1;

do

f*=k++;

while(k<=n);

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

}

}

(4).三重循环:

public class Example05{

public static void main(String[] args){

for(int i=0;i<3;i++){

resume:

for(int j=0;j<3;j++){

for(int k=0;k<3;k++){

System.out.println("\n"+i+" "+j+' "+k);

if (i==1&& k==0) break resume;

}

System.out.println("\tEnd of k loop;j="+j);

}

System.out.println("\tEnd of j loop;i="+i);

}

System.out.println("\tEnd of i loop.")

}

}

【答】:

(1)的运行结果如下:

0 41

1 43

2 47

3 53

4 61

5 71

6 83

7 97

8 113

9 131

(2)的运行结果如下:

0,1,2,3,5,8,13,21,34,55,89

(3)的运行结果如下:

运行结果取决于随机数。求随机数的阶乘,其中的一个运行结果如下:3!=6

(4)的运行结果如下:

0 0 0

0 0 1

0 0 2

End of k loop;j=0

0 1 0

0 1 1

0 1 2

End of k loop;j=1

0 2 0

0 2 1

0 2 2

End of k loop;j=2

End of j loop;i=0

1 0 0

End of j loop;i=1

2 0 0

2 0 1

2 0 2

End of k loop;j=0

2 1 0

2 1 1

2 1 2

End of k loop;j=1

2 2 0

2 2 1

2 2 2

End of k loop;j=2

End of j loop;i=2

End of i loop.

7.分析下面两个三重循环程序之间的差别,写出结果,然后上机进行检验。(1).三重循环1:

public class Example01{

public static void main(String[] args){

int count=0;

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

resume:

for(int j=0;j<4;j++)

for(int k=0;k<5;k++){

++count;

if (i==1&&j==2&& k==3) break resume;

}

System.out.println("\tcount="+count);

}

}

(2).三重循环2:

public class Example02{

public static void main(String[] args){

int count=0;

for(int i=0;i<3;i++){

resume:

for(int j=0;j<4;j++)

for(int k=0;k<5;k++){

++count;

if (i==1&&j==2&& k==3) break resume;

}

System.out.println("\tcount="+count);

}

}

}。

【答】:

在三重循环1中,System.out.println()语句是在三重循环之外的,输出的是count 的最后的值,而三重循环2中,System.out.println()语句在循环体内,输出的是每次循环后count发生变化的值。

三重循环1的运行结果是:count=54

三重循环2的运行结果是:

count=20

count=34

count=54

习题三

1.Java程序中字符串常量使用什么类表示?字符串变量又使用什么类来表示?它们的主要区别在哪里?

【答】:

字符串常量常用https://www.docsj.com/doc/8e16652580.html,ng.String类表示,字符串变量常用https://www.docsj.com/doc/8e16652580.html,ng.StringBuffer 类来表示。它们的主要区别在于:String对象一旦创建不会发生变化,具有只读性质;而StringBuffer对象创建后可扩充和修改字符串对象的内容。

2.请说明程序“String s1="I like ";s1+="Java!";”和程序“StringBuffer s1=new StringBuffer("I like ");s1.append("Java!");”的区别。根据你得出的结论,如果程序需要处理大量的字符串连接操作,应该尽量使用String类还是StringBuffer类?【答】:

程序“String s1="I like ";s1+="Java!";”中,s1表示字符串变量,在执行第一次运算时,s1赋值一个字符串对象“I like ”,而第二次运算,s1被赋值另一个字符串对象“I like Java”,二次运算中赋值的对象完全不同。而对于程序“StringBuffer s1=new StringBuffer("I like ");s1.append("Java!");”,变量s1在两次运算中始终表示一个字符串对象,只是这个字符串对象的内容发生了变化。

程序在处理大量的字符串连接操作,尽量使用StringBuffer类的对象来处理。这是因为StringBuffer对象可以扩充和修改字符串对象,有利于减少系统资源的消耗。

3.编写一个Applet,使之能将定长字符串转化成可变长字符串,并能实现字符串中指定字符的替换。

【答】:

Applet的程序如下:

package javabook.answer.ch03;

import javax.swing.JApplet;

import java.awt.*;

public class Demo3 extends JApplet {

/**

* 字符串替换操作

*

*/

public void init() {

try {

str = this.getParameter("str");

strR = new StringBuffer(str);

pch = this.getParameter("ch1").charAt(0);

tch = this.getParameter("ch2").charAt(0);

} catch (Exception e) {

System.out.println("初始化数据出现错误!");

}

for (int i = 0; i < strR.length(); i++) {

if (strR.charAt(i) == pch) {// 替换

strR.setCharAt(i, tch);

}

}

}

public void paint(Graphics g) {

g.drawString("原来的字符串:" + str, 20, 20);

g.drawString("替换后的字符串:" + strR, 120, 120);

}

private String str;

private StringBuffer strR;

private char pch;

private char tch;

}

对应的HTML的文件如下:

关于字符串替换

4.阅读下面的程序,写出程序的运行结果。

import java.util.*;

public class StringTest {

public static void main(String args[]){

String s1="I love Java.";

String s2="I like Java.";

String s3="I like Java.";

StringBuffer s4=new StringBuffer(s1);

StringBuffer s5=new StringBuffer("Append");

char c1[]=new char[s1.length()];

System.out.println("s1的长度="+s1.length());

System.out.println("s1和s2相同吗?"+(https://www.docsj.com/doc/8e16652580.html,pareTo(s2)==0?"相同":"不同"));

System.out.println("s2和s3相同吗?"+(https://www.docsj.com/doc/8e16652580.html,pareTo(s3)==0?"相同":"不同"));

System.out.println("s1连接s2后的字符串为:"+s1.concat(s2));

System.out.println(s1.startsWith("J",7));

System.out.println(s1.endsWith("."));

s1.getChars(0,s1.length(),c1, 0);

for(int i=0;i

System.out.println(c1[i]+" ");

System.out.println(s1.toUpperCase()+"\n");

System.out.println("s4的长度="+s4.length());

System.out.println(s4.append(s5));

System.out.println(s4.insert(2,365.25f));

System.out.println(s4.insert(0,"INSERTED"));

char c2[]=new char[s4.length()];

s4.getChars(0, s4.length(), c2, 0);

for(int i=0;i

System.out.println(c2[i]+" ");

System.out.println(s4.toString().toUpperCase());

}

}

【答】:

上列程序StringTest的运行结果如下:

s1和s2相同吗?不同

s2和s3相同吗?相同

s1连接s2后的字符串为:I love Java.I like Java.

true

true

I

l

o

v

e

J

a

v

a

.

I LOVE JAVA.

s4的长度=12

I love Java.Append

I 365.25love Java.Append

INSERTEDI 365.25love Java.Append

I

N

S

E

R

T

D

I

3

6

5

.

2

5

l

o

v

e

J

a

v

a

.

A

p

p

e

n

d

INSERTEDI 365.25LOVE JAVA.APPEND s1的长度=12

习题四

写出类的格式声明中允许使用的关键字。它们代表的含义是什么?

【答】:

类的格式声明允许使用的关键字有:abstract、static、final、public、class、implements以及extends等。abstract表示定义一个抽象类,static用于定义静态嵌套类、final定义一个最终类,public定义一个公共类、class表示定义一个类、implements表示定义的类实现的接口以及用extends表示该类继承某类。

2.类的成员数据的修饰符是否和类的成员方法部分相同,部分不同。请写出与成员方法不同的修饰符是哪些?它们的含义是什么?

【答】:

类的成员数据修饰符有部分和成员方法相同,如访问控制符、static、final等。有部分的修饰符存在不同。对于成员变量与成员方法不同的修饰符有:transient (说明变量不能被序列化)、volatile(表示变量能从主存读取,进行异步修改);对于成员方法与成员变量不同的修饰符有:native(定义本地方法)、abstract(定义抽象方法)、synchronized(定义同步方法)。

3.写出构造方法的定义和用途?

【答】:

构造方法是一种特殊的方法,它与类名同名,但不具有返回值。构造方法由用户自定义,如果没有定义系统会自动创建一个默认的无参构造方法。构造方法用于对象的创建和初始化。

4.关键字static在修饰类、类的成员数据和类的成员方法中的作用各是什么?【答】:

static在修饰类时,往往修饰类中定义的嵌套类,也称为静态嵌套类,提高了类的封装性。static在修饰类的成员数据和成员方法时,表示定义一个静态成员,该成员为类成员,为该类的所有对象共享。

5.定义一个点类“Point”。Point类的属性有x轴和y轴坐标,可以通过方法setX ()设置x轴坐标,方法setY()设置y轴坐标,方法getY()获得x轴坐标,方法getY()获得y轴坐标。编写一个测试类PointTest来创建Point类的对象,测试该类。

【答】:

package javabook.answer.ch04;

import java.util.*;

class Point {

private double x;

private double y;

public Point() {

x = 0;

y = 0;

}

public Point(double x, double y) {

setX(x);

setY(y);

}

public double getX() {

return x;

}

public void setX(double x) {

this.x = x;

}

public double getY() {

return y;

}

public void setY(double y) {

this.y = y;

}

}

public class EX5 {

public static void main(String args[]) {

Scanner in = new Scanner(System.in);

double x, y;

System.out.println("输入X坐标:");

x = in.nextDouble();

System.out.println("输入Y坐标:");

y = in.nextDouble();

Point p = new Point(x, y);

System.out.println("点的坐标:x=" + p.getX() + ",y=" + p.getY());

System.exit(0);

}

}

6.this关键字的含义是什么?它的主要用途有哪些?

【答】:

this关键字表示当前对象。它可以实现对对象成员的访问,可以实现在构造方法内调用其他的构造方法来创建和初始化对象。

7.写出嵌套类的分类,并加以区分。

【答】:

嵌套类是在一个类内定义另外一个类。根据static的存在性分成两大类:静态嵌套类和内部类。有static关键字为静态嵌套类,外部类的所有成员可以共享该静态嵌套类。无static修饰的嵌套类为内部类。内部类必须与外部类的实例相关联,通过外部类的对象创建内部类的对象实例。

8.编程定义一个队列类,它封装了队列数组,判断队列空方法、队列满方法、进队列方法和出队列方法。

【答】:

队列类Queue的定义如下:

package javabook.answer.ch04;

public class EX8 {

private int length;// 队列长度;

private int[] s;// 队列数组;

private int top;// 队头;

private int rear;// 队尾;

public EX8(int length) {

this.length = length;

if (length > 0)

s = new int[length];// 初始化队列

top = rear = 0;// 队列空;

}

public int getTop() {// 获取队头元素;

if (!isEmpty()) {

return s[top];

}

return 0;

}

public int getRear() {// 获取队尾元素;

if (!isEmpty()) {

return s[rear];

}

return 0;

}

public void enQueue(int content) {// 进队列;

if (!isFull()) {

s[rear] = content;

rear = (rear + 1) % length;

}

}

public void delQueue() {// 出队列

if (!isEmpty()) {

top = (top + 1) % length;

}

}

public boolean isFull() {// 判断队列满

if ((rear + 1) % length == top)

return true;

return false;

}

public boolean isEmpty() {// 判断队列空

if (rear == top)

return true;

return false;

}

}

9.编程定义一个栈类,它封装了栈数组,判断栈空方法、栈满方法以及进栈和出栈方法。

【答】:

栈类Stack的定义如下列代码所示:package javabook.answer.ch04;

public class EX9 {

private int length;

private int top;

private int[] s;

public EX9(int len) {// 初始化空栈this.length = len;// 设置栈的空间大小

if (len > 0)

s = new int[len];

top = 0;// 设置为空栈

}

public int getTop() {// 获得栈顶元素return s[top];

}

public boolean isFull() {// 判断栈满

if (top + 1 > length) {

return true;

}

return false;

}

public boolean isEmpty() {// 判断栈空

if (top < 1)

return true;

return false;

}

public void push(int content) {// 进栈

if (!isFull())

s[++top] = content;

}

public void pop() {// 出栈

if (!isEmpty()) {

--top;

}

}

}

10.编写一个类实现复数的运算。【答】:

定义复数的类Complex,代码如下:package javabook.answer.ch04;

public class EX10 {

private double real;

private double image;

public EX10(double real, double image) { super();

this.real = real;

this.image = image;

}

public double getImage() {

return image;

}

public void setImage(double image) {

this.image = image;

}

public double getReal() {

return real;

}

public void setReal(double real) {

this.real = real;

}

public EX10 add(EX10 b) {// 复数相加

return new EX10(this.getReal() + b.getReal(), this.getImage()

+ b.getImage());

}

public EX10 sub(EX10 b) {// 复数相减

return new EX10(this.getReal() - b.getReal(), this.getImage()

- b.getImage());

}

public EX10 multiple(EX10 b) {// 复数相乘

double real, image;

real = this.getReal() * b.getReal() - this.getImage() * b.getImage(); image = this.getReal() * b.getImage() + this.getImage() * b.getReal(); return new EX10(real, image);

}

public EX10 div(EX10 b) {// 复数相除

double real, image, temp;

temp = Math.pow(b.getReal(), 2) + Math.pow(b.getImage(), 2);

real = (this.getReal() * b.getReal() + this.getImage() * b.getImage()) / temp;

image = (this.getImage() * b.getReal() - this.getReal() * b.getImage()) / temp;

return new EX10(real, image);

}

public static void main(String args[]) {

EX10 a = new EX10(3, 4);

EX10 b = new EX10(3, -3);

EX10 result;

System.out.println("复数相加:");

result = a.add(b);

System.out.println("" + result.getReal() + "+i" + result.getImage()); System.out.println("复数相乘:");

result = a.multiple(b);

System.out.println("" + result.getReal() + "+i" + result.getImage()); System.exit(0);

} }

习题五

1.子类将继承父类所有的属性和方法吗?为什么?在什么情况下会出现子类对父类变量的隐藏?什么情况下出现子类对父类方法的覆盖?试举一例。【答】:

子类继承父类的共有和保护类型的方法和属性,但是对于父类的私有方法和属性无法继承。如果子类覆盖了父类的静态方法,父类的方法被隐藏。而覆盖是子类具有重新定义父类成员方法的能力,例如:智能手机是手机的子类,手机可以打电话,而智能手机可以具有打电话并增加传递视频信号的功能,重新定义手机打电话的功能。

2.方法的覆盖和方法的重载有什么不同?

【答】:

方法的覆盖是子类重新定义父类的成员方法,这意味着子类定义的方法具有和父类的方法具有同方法名、同参数类型、同参数类型以及同返回值。而方法的重载是在同一个类中定义同名方法的情况,这些同名方法除了方法名相同,但方法签名必须不同。

3.接口是什么?它将起何种作用?如何定义接口?如何使用接口?假设复数类实现了一个四则运算的接口,试编程建立并使用这个接口?

【答】:

接口是为外界提供运算,并不提供运算的结构或具体的实现内容。接口是通过interface来实现的,形如“interface 接口名”。实现复数四则运算的接口代码如下:

package javabook.answer.ch05;

interface ComplexCounter {

public abstract EX3 add(EX3 b);

public abstract EX3 sub(EX3 b);

public abstract EX3 div(EX3 b);

public abstract EX3 mul(EX3 b);

}

public class EX3 implements ComplexCounter {

private double real;

private double image;

public EX3(double real, double image) {

super();

this.real = real;

this.image = image;

}

public double getImage() {

return image;

}

public void setImage(double image) {

this.image = image;

}

public double getReal() {

return real;

}

public void setReal(double real) {

this.real = real;

}

public EX3 add(EX3 b) {// 复数相加

return new EX3(this.getReal() + b.getReal(), this.getImage()

+ b.getImage());

}

public EX3 sub(EX3 b) {// 复数相减

return new EX3(this.getReal() - b.getReal(), this.getImage()

- b.getImage());

}

public EX3 mul(EX3 b) {// 复数相乘

double real, image;

real = this.getReal() * b.getReal() - this.getImage() * b.getImage();

image = this.getReal() * b.getImage() + this.getImage() * b.getReal();

return new EX3(real, image);

}

public EX3 div(EX3 b) {// 复数相除

double real, image, temp;

temp = Math.pow(b.getReal(), 2) + Math.pow(b.getImage(), 2);

real = (this.getReal() * b.getReal() + this.getImage() * b.getImage())

/ temp;

image = (this.getImage() * b.getReal() - this.getReal() * b.getImage())

/ temp;

return new EX3(real, image);

}

}

4.计算

式1:y=x+x/2+x/3+……+x/n;

式2:y=x+x/2!+x/3!+……+x/n!;

要求:x为实数,n为正整数。○1○2○3利用继承机制编程。任意输入n,当n为奇数时,按照式1计算,当n为偶数时,按照式2计算。

【答】:

MathCounter程序,实现式1运算如下:

package javabook.answer.ch05;

interface Counter {

public abstract double sum();

public abstract double div(double x, int n);

}

public class EX4a implements Counter {

private int n;

private double x;

public EX4a(double x, int n) {

this.n = n;

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课程设计题目2

面向对象课程设计题目 1、个人通信录管理信息系统的设计与实现 目的:通过本题目的设计,加深对面向对象程序设计技术的理解,掌握利用数据库编写小型程序的基本过程和方法。 任务: 1)利用面向对象编程技术,完成个人信息的存储管理; 2)选择系统开发平台(JAVA或.NET)和软件架构(C/S、单机版); 3)要求系统能够对联系人的系统进行录入、查询、编辑、导入和导出等。 2、个人电子相册的设计与实现 目的:掌握一种开发平台,编写出具有高交互性应用程序。 任务: 1)分析现有的电子相册的具体功能; 2)选择一种开发平台(JAVA或.NET)编写电子相册应用; 3)个人电子相册应该具备用户注册、照片浏览、创建影集、照片旋转、放大等各种基本功能。 3、音像租赁管理系统的开发与实现 目的:通过资料收集,了解音像租赁连锁店的基本业务需求,完成系统需求分析和概要设计,采用C/S架构完成一个简单的光盘租赁管理系统的开发。 任务: 1)音像租赁连锁店的基本业务需求,完成需求分析报告; 2)利用JAVA编写一个基本功能的光盘租赁管理系统,包括客户信息管理、音像资料管理、音像检索、业务统计等;

4、学生综合信息管理信息系统的设计与实现 目的:通过实际编写一个学生综合信息管理软件,将所学多门课程的技能、技巧(面向对象系统分析、变量命名、软件模块设计、数据库访问等)加以综合运用,达到较大规模软件独立设计与开发的能力。 任务: 1)选择JAVA或.NET完成一个桌面架构的学生综合信息管理软件; 2)软件可以对学院大学生综合信息(姓名、学号、成绩、籍贯、家庭所在地、特长、宿舍号等)进行管理(录入、删除、修改)、统计、分析(排 序)、查询与打印 3)课程设计报告要求涵盖需求分析、概要设计、详细设计的主要内容,包括系统功能定义、模块划分、对象设计与实现的技术细节。 5、家庭财务管理信息系统设计与开发 目的:通过实际编写一个家庭财务管理软件,将所学多门课程的技能、技巧(面向对象系统分析、变量命名、软件模块设计、数据库访问、数理统计分析等)加以综合运用,达到较大规模软件独立设计与开发的能力。 任务: 1)选择者JAVA或.NET完成一个桌面架构的学生综合信息管理软件; 2)软件能够对家庭的收入、支出进行分类统计,用户可以自定义收入、指出的类别,自定义分类查询和统计的条件。系统可以按照用户定义自动 生成统计报表(月报、季报、年报)。通过财务分析,对家庭收支提出 改进建议; 3)课程设计报告要求涵盖需求分析、概要设计、详细设计的主要内容,包括系统功能定义、模块划分、对象设计与实现的技术细节。

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程序设计概述 1.9 练习思考题 1、?Java运行平台包括三个版本,请选择正确的三项:( ) A. J2EE ????? B. J2ME C. J2SE? D. J2E 解答:A,B,C 2、JavaJDK中反编译工具是:() A.javac??B. java ?C. jdb ???D. javap 解答:D 3、?public staticvoid main方法的参数描述是:( ) A.String args[]??? B.String[] args C. Strings args[] ?? D.Stringargs 解答: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课程设计参考题目

参考题目 选题原则:所完成的系统应能够在生活、学习中使用,以实用性为主。模仿生活、学习中使用到的各种软件,做mini版本。开发的目标是自己、同学愿意使用你所开发的软件完成一些简单任务。从小功能着手,一点点的添加功能。添加一个功能就运行试试,减少越来越难于调试的可能。也可自选。jsp或java完成都可。 1.文件复制 完成一个程序,这个程序可以将指定文件夹中的内容复制到另一个文件夹中去。 设计要求: 1)实现文件夹复制; 2)程序中需要考虑输入输出异常处理; 3)用户可以指定不同的参数:用-ext指定要复制的文件的扩展名,可以 同时指定多个扩展名;用-empty指定不复制空目录;用-zip表示进行压缩; 还可以增加其它选项 4)在dos控制台窗口环境下,通过命令行参数运行程序,如: 2.图片浏览器 类似于ACDSEE的图片浏览器 设计要求: 1)可以对图片进行不同的分类,并能够按分类显示 2)备份功能,用压缩实现用户选定文件的备份,用户指定文件的方式 要多样,如在分类上、在实际文件夹上。 3)幻灯功能,通过分类、实际文件夹等多种方式指定要幻灯浏览的图 片; 3.压缩文件浏览器 仿照Winrar浏览压缩文件。 设计要求: 1)能够以图形方式显示zip、tar、jar压缩文件中的内容

2)能解压用户选定的文件到选定的目录,注意winrar中指定解压整个 目录的方式 3)能够对压缩文件增加注释 4.文件加密工具 能够对文件、文件夹进行加密,可以由用户选择加密算法。 设计要求: 1)图形界面选定加密、解密的文件。 5.提醒簿(使用数据库) 仿照雪狐提醒簿。 设计要求: 1)由用户定义时间及提醒的内容; 2)定时时间到弹出窗口提醒或使用其它方式; 3)用户可以更改、删除提醒; 4)提醒的方式中包括使用邮件; 5)可以浏览提醒,已完成和未完成使用不同的图标; 6)用户可以注册、登录,登录的显示属于自己的提醒事项; 7)可以导出、导入提醒。 6.部门员工管理系统(使用数据库) 图形界面实现对部门、员工的管理。部门可以增、删、改,员工可以增、删、改及在不同的部门间调动。部门放JComboBox中,所属员工信息用多个JTextField 或JTable显示都可。要用菜单实现不同的功能。 7.备忘录(使用数据库) 设计要求: 1)系统界面的左侧是日历,该日历可以按年份前后翻动,在某年内按 月可以前后翻动; 2)单击选定的日期,系统界面的右侧显示相应的记事,可增、删、改; 3)每日的记事可有多条。 8.学生成绩管理系统(使用数据库) 功能要求: 2

高级语言程序设计期中试卷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课程设计题目

java课程设计题目 设设HoMEWORK2012-02-2819:23 要求设明, 1.人一设~每设设设设一设目~如果列出多版本~只需要完成其中一版本两个个个即 可 2.由设委设设设设设各设设及其设目~下周以设子模式提交设目列表名设学档 3.每设必设完成相设的UML设;至少需要包括用例设、设设、设序设或者设作设,~UML 设可有Visio或者Rose或者StarUML或其他设似的工具完成 4.第六周设始机抽设设大家演示设述从随 设目列表如下, 1.打字游设(JavaGUI本地版/JSP版本/Javascript) 2.设文件设行明文加密(JavaGUI本地版) 3.在设设店设设站网(WEB版本) 4.5子棋游设(设版网/WEB版) 5.俄设斯方设(设版网/WEB版) 6.音设播放器(JavaGUI本地版) 7.设子相册(JavaGUI本地版) 8.多人聊天室((JavaGUI本地版/WEB版)9.模设考设系设(WEB版) 10.克游设扑(JavaGUI本地版/WEB版) 设设设明, 1.打字游设(JavaGUI本地版/JSP版本/Javascript)

设设背设设和打字速度, 可根据一片文章自设设入设设 整设设下落或者淡入淡出个 同设多设设出设个 设设入设设的设设分析设设功能 设分 2.设文件设行明文加密(JavaGUI本地版) DEC加解密,需要密设~可以解密 3.在设设店设设站网(WEB版本) 设设目的目的是设设一设合站~设设《在设设店》的基本功能~如管理设设~上设个网网 售网设设等功能。要求站能设布到Internet上。设站采用网 Jsp+JavaBean+JDBC+MySql|SQLServer等技设架~服设器端采用框Tomcat服设器。 4.5子棋游设(设版网/WEB版) 设设程序~完成下述功能,在大于9设的方形格棋设上~放置黑白色棋子条网两~两网弈两条人各设一色~通设设设~可以在任何设的交点上放置棋子~同色棋子~先同行、同列或者同设角设上5设设成一设者设设。条 5.俄设斯方设(设版网/WEB版) 设设程序~完成下述功能, 完成一可以人通设设设设的俄设斯方设游设~每一方都可以在自己的幕个两个网屏 上看到设方的前游设~游设先设束的一方设失设者当状况 6.音设播放器(JavaGUI本地版)

高级语言程序设计(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编程技巧,独立完成一项较为完整、并具有一定难度的课程设计任务,加深对面向对象程序设计思想的理解,掌握利用Java语言编写具体的应用程序。培养学生的团队合作精神、良好的程序设计风格以及了解应用程序的设计开发过程和Java程序编程与测试的能力。二.总体要求: 1、每个班分若干个组,每组2-3人(自由组合)课程设计题目由任 课老师指定; 2、人员分工:组长1人、组员1到2人。组长可由小组人员自行选出 或自荐,组长的职责是负责与老师交流,合理安排分配本组的各项任务,任务有:系统总体设计、编码、测试、写文档。 3、程序编码总体要求: 编程工具统一使用Eclipse。 统一使用Java的AWT组件进行GUI编程(或Applet编程), 必须有登录界面,登录的用户名和密码为组长的名字的全 拼;非Applet程序要求有一个框架窗口,关闭窗口时要注意 处理窗口事件退出程序。 程序编码时,必须严格遵守Java程序标识符的一般约定,并 要加适量的注释。 4、程序编码完成后,一定要进行严密的测试工作。 5、文档内容要求: 封面(见封面文件)。以下每个内容为一章; 项目计划(内容是:小组人员名单与所负责的工作)。 程序详细功能描述(描述你的程序能完成什么功能)。要求 200字左右。 程序使用说明(对程序的每个操作步骤的屏幕画面进行载 图,并加以文字说明)。 此次课程设计的编程心得。要求每人50字以上。 文档的字体与大小,统一采用“宋体五号字”;要将以上内容 合写成一篇完整的文档;文档头要加入标题和目录索引。 6、程序完成后,要提交文档与程序(包括源码,每组提交一份),

高级语言程序设计练习题

(一)填空题: 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课程设计实验报告

Java课程设计实验报告实验题目:打字游戏小程序 专业:计算机科学与技术系 班级:1202班 成员:

Java课程设计(打字游戏小程序) 一、课程设计目的 经过一学期的java学习,能灵活运用书中和实验中所学习的各类知识和技巧,并且能在程序开发中得以很好的运用和发挥。在以后的学习和工作中,可以从中获取很好的经验,并且锻炼自己开发程序和创新的意识。 二、课程设计内容 1.课程设计简介 设计的是一个打字的小游戏,屏幕上不断地有英文字母下落,键盘输入字母,屏幕上与输入的字母形同的就会消失,并计分,如果有没有消去的字母掉到屏幕底,将扣分。 2.设计说明 因为要进行键盘操作,所以引用了event包,还要注册事件监听。字母是随机产生的,又要用。注册了线程。还要对窗口定义坐标,防止字母出现在同一位子。并且通过一位数组来给随机出现的字母做坐标定义。主要通过一位数组来控制字母的坐标,并且通过字母坐标的改变来对整个游戏的流程进行控制。 3.设计流程图 4.实现功能 随机产生字母,运用了键盘操作当按对屏幕中出现的字母时,该字母全部消失,并且在分数上相应的增加或减少。 5.详细设计(源代码) 1) packageDownCharGame; import import import /** *下落的字母实体类 *@authorshenbf * */ publicclassCharEntity{ raw(g); } etY()>=480){ etX((int)()*580)+30); chs[i].setY(0);

chs[i].setColor(newColor((int)()*256), (int)()*256),(int)()*256))); chs[i].setCh((char)(65+(int)()*26))); } chs[i].down(); } repaint();tart(); } publicvoidkeyTyped(KeyEvente){ } publicvoidkeyPressed(KeyEvente){ } publicvoidkeyReleased(KeyEvente){ etCh()||key==chs[i].getCh()+32){ etY()

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

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); } } ;

java课程设计2013级大纲以及设计报告

珠海学院课程教学大纲 课程名称:java程序课程设计 适用专业: 2013级计算机科学与技术 课程类别:专业基础课 制订时间:2014年12月 计算机科学与技术系制

目录 1java程序课程设计教学大纲 2 java程序课程设计说明书 3 java程序课程设计报告(模板) 4 java程序课程设计成绩评定表 java程序课程设计教学大纲 (2011年制订,2014年修订) 一、课程编号: 二、前修课程:java程序设计 三、学分:2学分 四、学时: 32学时 五、课程性质与任务: 1.课程性质:《java程序课程设计》是吉林大学珠海学院计算机科学与技术系为本科生各专业开设的专业实践课。计算机科学与技术系本科生在完成《java 程序设计》课程学习后,通过本课程进入专业实践训练环节,其主要目的是使学生深入理解并实践在《java程序设计》课程中所学的有关知识,通过课程设计增强学生的实践动手能力,提高学生独立分析和解决实际问题的能力。培养学生配合完成任务的能力,为学生毕业后的实际工作打好基础。 课程设计是培养学生综合运用所学知识锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。Java语言的应用十分广泛,例如大型信息系统、通信、网络控制等。java课程设计对增强学生对基础知识的掌握和综合运用是非常必要,对后续许多专业课程的学习和实践训练都具十分重要的意义。 2.课程任务:本课程要求学生在学习了java基础编程的相关技术后,将课本中多个章节的编程技术灵活运用到一些复杂的综合例题中去,使学生了解应用问题

的分析方法和设计解决实际问题的具体过程,掌握应用java进行程序设计的基本规范和技巧,掌握面向对象编程的设计思想,重点掌握java的基本语法规则、输入输出方法、网络编程、多线程编程、小应用程序、数据库编程的综合应用。通过编程掌握调试java程序的基本技巧、模块化应用程序和测试运行复杂应用程序的基本流程。 六、课程教学基本要求提供足够多的程序设计选题,题目应覆盖面较为广泛,部分题目要具有开放性,要求每个学生根据自己的实际情况选择题目,经教师批准后即可进入实际工作阶段。 课程设计结束对每个学生进行验收,要求每个学生提交合格的课程设计报告,还要保证程序能够运行,能够讲清楚自己的工作。老师在检查过程中可针对程序提出问题,学生回答,若程序无法运行得到结果并且具有大量编译错误,而且对程序的内容无法正确解释,则实践老师可以根据实际情况给予评分为不及格,若程序可以运行,但完成的界面以及方法不够完善,则酌情扣分,若程序运行无问题,则提问回答不好的也要相应扣分。课程设计课程集中安排在第十一周。每个同学都要提交初期、中期和最后的文档,提交课程设计报告,要求在规定时间内提交文档。最后验收时,若文档不全,成绩受到一定影响。 七、学时分配表 2011年 12 月8日 java程序课程设计说明书

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

天津工业大学计算机科学与软件学院 班级学号姓名 注意事项: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的结果是。

《高级语言程序设计》期末考试试卷附答案

《高级语言程序设计》期末考试试卷附答案 一、选择题(共20题,每题3分,共60分) 1. 下列四个选项中,均是合法的整型常量的选项是() A.160 –0XFFFF 011 B. -0XCDF 01A 0XE C. -01 986,012 0688 D. -0X48a 2e5 0x 2. 下列四个选项中,均是不合法的浮点数的选项是() A.160.0.12 e3 B. 123 2e4.2 .e5C.18 0.0 123e4 D. e3. 234 1e3 3. 合法的C语言字符常数是() A.'\t' B. "A"C.54 D. A 4. 在C语言中,要求运算数一定是整型的运算符是() A./ B. ++C.!= D. % 5. 字符串常量”mine”的字符个数是() A.4 B. 5C.6 D. 7 6. 以下属于非法的C语言转义字符的是() A.'\b' B. '0xf'C.'\037' D. '\' 7. 若x、y、z均为int型变量,则执行以下语句后的输出是() x=(y=(z=10)+5)-5; printf("x=%d, y=%d, z=%d\n",x,y,z); y=(z=x=0,x+10); printf("x=%d, y=%d, z=%d\n",x,y,z); A. x=10, y=15, z=10 B.x=10, y=10, z=10 x=0, y=10, z=0x=0, y=10, z=0 C.x=10, y=15, z=10 D. x=10, y=10, z=10 x=10, y=10, z=0 x=10, y=10, z=0 8. 在以下一组运算符中,优先级最高的运算符是() A.<= B. =C.% D. && 9. 已知:int x; float y; 所用的scanf调用语句格式为: scanf( “x=%d, y=%f”, &x, &y ); 为了将数据10和66.6分别赋给x和y,正确的输入应当是() A.x=10, y=66.6<回车> B. 10, 66.6<回车> C.10<回车>66.6<回车> D. x=10<回车>y=66.6 <回车> 10. 已有如下定义的输入语句,若要求A1,A2,C1,C2的值分别为10,20,A和B,当从第一列开

相关文档
相关文档 最新文档