当前位置:文档之家› java程序设计【基于JDK6和NetBeans实现】宋波主编 课后作业答案 打印版

java程序设计【基于JDK6和NetBeans实现】宋波主编 课后作业答案 打印版

java程序设计——基于JDK6和NetBeans实现课后答案

第一章课后作业答案

1.试说明Java Application与Java Applet的不同之处。

答案:Java的用户程序分为两类:Java Application和Java Applet,这两类程序在组成结构和执行机制上都有一定的差异,主要体现在以下几方面:

(1)运行方式不同。Java Application是完整的程序,可以独立运行;Java Applet程序不能单独运行,它必须嵌入到用HTML语言编写的Web页面中,通过与Java兼容的浏览器来控制执行。

(2)运行工具不同。Java Application程序被编译以后,用普通的Java解释器就可以使其边解释边执行;而Java Applet必须通过网络浏览器或者Applet观察器才能执行。

(3)程序结构不同。每个Java Application程序必定含有一个并且只有一个main()方法,程序执行时,首先寻找main()方法,并以此为入口点开始运行;而Applet程序则没有含main()方法的主类,这也正是Applet程序不能独立运行的原因。尽管Applet没有含有main()方法的主类,但Applet一定有一个从java.applet.Applet派生的类,它是由Java系统提供的。

(4)受到的限制不同。Java Application程序可以设计成能进行各种操作的程序,包括读/写文件的操作,但是Java Applet对站点的磁盘文件既不能进行读操作,也不能进行写操作。然后,由于Applet 的引入,使Web页面具有动态多媒体效果和可互交性能,这使由名为超文本、实为纯文本的HTML 语言编写成的Web页面真正具有了超文本功能,不但可以显示文本信息,而且还可以有各种图片效果和动态图形效果,从而使页面显得生动美丽;另外,Applet使Web页面增加了按钮等功能,从而增加了交互性。

2.Java程序的最小程序单位是什么?

答案:Java语言以类作为程序的基本单位。

3.下载并安装JDK 1.6以及Java API文档,编译并运行例1-1。

答案:实践题。

4.编写一个Java应用程序,在屏幕上输出“欢迎进入Java奇妙世界!”的字符串。

答案:

public class HelloWorld {

public static void main(String[ ] args) {

System.out.println("欢迎进入Java奇妙世界!");

}}

5.下面程序的功能是:计算并打印输出两个整数a和b之间的最大值,请填空。

01public class Max{

02public static void main (String args[ ] ) {

03int max;

04int a=3;

05int b=5;

06if(a>b){

07max=a ; 08}

09else{

10max=b ; 11}

12System.out.println(max); 13}

14}

【运行结果】 5

第2章Java语言基础

1.请完成下面程序,使得程序的输出结果如右图所示。

01.public class LoopControl {

02.public static void main(String[] args) {

03.outer: for (int i = 0; i < 10; i++) {

04.for (int j = 0; j < 10; j++) {

05.if (j > i) {

06.System.out.println() ;

07.continue outer ;

08.}

09.System.out.print(" * ");

10.}

11.}

12.}

13.}

2.编写程序,输出英文字母A~Z及其对应的Unicode编码值。

01.public class CharUnicodeTest {

02.public static void main(String[] args) {

03.for(char c='A';c<='Z';c++){

04.System.out.print("Character: "+c);

05.System.out.println("\t"+"Unicode: "+(int)c);

06.}

07.}

08.}

3.编写程序,计算1!+2!+3!+…+20!的和。

01.public class NestedLoopTest {

02.public static void main(String[] args) {

03.long sum=0;

04.long fac;

05.for(int i=1;i<21;i++){

06.fac=1;

07.for(int j=1;j<=i;j++){

08.fac=fac*j; 09.}

10.sum=sum+fac;

11.}

12.

System.out.println("1!+2!+...+20!="+sum);

13.}

14.}

*

* *

* * *

* * * *

* * * * *

* * * * * *

* * * * * * *

* * * * * * * *

* * * * * * * * *

* * * * * * * * * *

4.编写程序,随机产生一个(50,100)之间的整数并判断其是否为素数。

01.public class RandomPrimeTest {

02.public static void main(String[] args) {

03.int i=(int)(Math.random()*49+51);

04.System.out.println("The random

number is : "+i);

05.int j;

06.for(j=2;j

07.if(i%j==0) break;

08.} 09.if(j==i)

10.System.out.println(i+" is a prime

number");

11.else

12.System.out.println(i+" is not a

prime number");

13.}

14.}

5.编写程序,输出从1到9的乘法口诀表。

01.public class MultiTableTest {

02.public static void main(String[] args) {

03.for(int i=1;i<=9;i++){

04.for(int j=1;j<=i;j++){

05.System.out.print(i+"*"+j+"="+i*j+"\t");

06.}

07.System.out.println();

08.}

09.}

10.}

第4章Java面向对象高级特性

1.指出下面程序中出现编译错误的行数及其原因。

01.public class Outer {

02.private class Inner {

03.static String name=new String("Inner");

04.public void method(){

05.System.out.println(name);

06.}

07.}

08.public static void main(String[] args) {

09.Inner a=new Outer().new Inner();

10. a.method();

11.}

12.}

上述代码中第3行会出现编译错误,内部类Inner中的成员变量不能定义为static。

2.请完成下面程序,使得程序可以输出枚举常量值:RED、GREEN和BLUE。

01.public class Ball {

02.public enum T {

03.RED, GREEN, BLUE

04.}

05.public static void main(String[] args) {

06.Ball.T[] t=Ball.T.values(); 07.for(int i=0;i

08.System.out.println(t[i]);

09.}

10.}

11.}

3.请完成下面程序,使得程序可以输出"hi"。

01.public class Car {

02.private class Engine {

03.Engine() {

04.drive();

05.}

06.}

07.public static void main(String[] args) {

08.new Car().go(); 09.}

10.void go() {

11.new Engine();

12.}

13.void drive() {

14.System.out.println("hi");

15.}

16.}

4.应用抽象类及继承编写程序,输出本科生及研究生的成绩等级。要求:首先设计抽象类Student,

它包含学生的一些基本信息:姓名、学生类型、三门课程的成绩和成绩等级等。其次设计Student 类的两个子类:本科生类Undergraduate和研究生类Postgraduate,二者在计算成绩等级时有所区别,具体计算标准如表所示。最后创建测试类进行测试。

学生成绩等级

本科生标准研究生标准

平均分85-100:优秀平均分90-100:优秀

平均分75-85:良好平均分80-90:良好

平均分65-75:中等平均分70-80:中等

平均分60-65:及格平均分60-70:及格

平均分60以下:不及格平均分60以下:不及格

//抽象类Student

01.abstract class Student {

02.final static int COURSE_COUNT=3;

03.private String name;

04.private String type;

05.private int[] scores;

06.private String grade;

07.public Student(String name){

https://www.doczj.com/doc/0c1561418.html,=name;

09.} 10.public void setName(String name){

https://www.doczj.com/doc/0c1561418.html,=name;

12.}

13.public String getName(){

14.return name;

15.}

16.public void setType(String type){

17.this.type=type;

18.}

19.public String getType(){

20.return type;

21.}

22.public void setScores(int[] scores){

23.this.scores=scores;

24.}

25.public int[] getScores(){

26.return scores;

27.} 28.public void setGrade(String grade){

29.this.grade=grade;

30.}

31.public String getGrade(){

32.return grade;

33.}

34.public abstract String

calculateGrade();

35.}

//本科生类

01.public class Undergraduate extends

Student{

02.public Undergraduate(String

name,int[] scores){

03.super(name);

04.this.setType("本科生");

05.this.setScores(scores);

06.}

07.public String calculateGrade(){

08.int average;

09.int sum=0;

10.int[] scores;

11.scores=this.getScores();

12.for(int

i=0;i

13.sum+=scores[i];

14.} 15.

average=sum/Student.COURSE_CO UNT;

16.if(average>=85)

17.return "优秀";

18.else if(average>=75)

19.return "良好";

20.else if(average>=65)

21.return "中等";

22.else if(average>=60)

23.return "及格";

24.else

25.return "不及格";

26.}

27.}

//研究生类

01.public class Postgraduate extends

Student{

02.public Postgraduate(String name,int[]

scores){

03.super(name);

04.this.setType("研究生");

05.this.setScores(scores);

06.}

07.public String calculateGrade(){

08.int average; 09.int sum=0;

10.int[] scores;

11.scores=this.getScores();

12.for(int

i=0;i

13.sum+=scores[i];

14.}

15.

average=sum/Student.COURSE_CO UNT;

16.if(average>=90)

17.return "优秀";

18.else if(average>=80)

19.return "良好";

20.else if(average>=70)

21.return "中等"; 22.else if(average>=60)

23.return "及格";

24.else

25.return "不及格";

26.}

27.}

//测试类

01.public class StudentTest {

02.public static void main(String[]

args){

03.Student[] s=new Student[10];

04.int[][] scores=new

int[10][Student.COURSE_COUNT];

05.for(int i=0;i<5;i++){

06.for(int

j=0;j

scores[i][j]=(int)(Math.random()*61 +40);

08.}

09.s[i]=new Undergraduate("

本科生"+(i+1),scores[i]);

10.

s[i].setGrade(s[i].calculateGrade());

11.}

12.for(int i=5;i<10;i++){

13.for(int

j=0;j

scores[i][j]=(int)(Math.random()*61 +40);

15.} 16.s[i]=new Postgraduate("研

究生"+(i-4),scores[i]);

17.

s[i].setGrade(s[i].calculateGrade());

18.}

19.int[] c;

20.for(int i=0;i<10;i++){

21.

System.out.print(s[i].getName()+"\t"); 22.

System.out.print(s[i].getType()+"\t");

23.c=s[i].getScores();

24.for(int

j=0;j

System.out.print(c[j]+"\t");

26.}

27.

System.out.println(s[i].getGrade());

28.}

29.}

30.}

运行结果:

本科生1 本科生93 90 68 良好本科生2 本科生76 89 58 中等本科生3 本科生79 66 90 良好本科生4 本科生95 85 98 优秀本科生5 本科生54 78 53 及格研究生1 研究生83 61 86 中等研究生2 研究生91 57 85 中等研究生3 研究生70 96 55 中等

研究生4 研究生43 75 62 及格研究生5 研究生43 80 61 及格

5.应用枚举类编写程序,根据第4题的要求输出本科生及研究生的成绩等级。要求:将学生成绩等

级定义成枚举类,其它功能不变,完成类的定义并进行测试。

//抽象类

01.abstract class Student {

02.//枚举类定义

03.static enum Grade {

04.DISTINCTION("优秀"),

05.MERIT("良好"),

06.A VERAGE("中等"),

07.PASS("及格"),

08.FAIL("不及格");

09.private String scoreGrade;

10.Grade(String scoreGrade) {

11.this.scoreGrade =

scoreGrade;

12.}

13.public String getScoreGrade() {

14.return scoreGrade;

15.}

16.}

17.final static int COURSE_COUNT =

3;

18.private String name;

19.private String type;

20.private int[] scores;

21.private Grade sgrade;

22.public Student(String name) {

https://www.doczj.com/doc/0c1561418.html, = name;

24.}

25.public void setName(String name) {

https://www.doczj.com/doc/0c1561418.html, = name; 27.}

28.public String getName() {

29.return name;

30.}

31.public void setType(String type) {

32.this.type = type;

33.}

34.public String getType() {

35.return type;

36.}

37.public void setScores(int[] scores) {

38.this.scores = scores;

39.}

40.public int[] getScores() {

41.return scores;

42.}

43.public void setGrade(Grade sgrade)

{

44.this.sgrade = sgrade;

45.}

46.public Grade getGrade() {

47.return sgrade;

48.}

49.public abstract Grade

calculateGrade();

50.}

//本科生类

01.public class Undergraduate extends

Student{

02.public Undergraduate(String

name,int[] scores){

03.super(name); 04.this.setType("本科生");

05.this.setScores(scores);

06.}

07.public Grade calculateGrade(){

08.int average;

09.int sum=0;

10.int[] scores;

11.scores=this.getScores();

12.for(int

i=0;i

13.sum+=scores[i];

14.}

15.

average=sum/Student.COURSE_CO UNT;

16.if(average>=85)

17.return

Grade.DISTINCTION;

18.else if(average>=75)

19.return Grade.MERIT;

20.else if(average>=65)

21.return Grade.A VERAGE;

22.else if(average>=60)

23.return Grade.PASS;

24.else

25.return Grade.FAIL;

26.}

27.}

//研究生类

01.public class Postgraduate extends

Student{

02.public Postgraduate(String name,int[]

scores){

03.super(name);

04.this.setType("研究生");

05.this.setScores(scores);

06.}

07.public Grade calculateGrade(){

08.int average;

09.int sum=0;

10.int[] scores;

11.scores=this.getScores();

12.for(int

i=0;i

13.sum+=scores[i];

14.} 15.

average=sum/Student.COURSE_CO UNT;

16.if(average>=90)

17.return

Grade.DISTINCTION;

18.else if(average>=80)

19.return Grade.MERIT;

20.else if(average>=70)

21.return Grade.A VERAGE;

22.else if(average>=60)

23.return Grade.PASS;

24.else

25.return Grade.FAIL;

26.}

27.}

//测试类

01.public class StudentTest {

02.public static void main(String[]

args){

03.Student[] s=new Student[10];

04.int[][] scores=new

int[10][Student.COURSE_COUNT]; 05.for(int i=0;i<5;i++){

06.for(int

j=0;j

scores[i][j]=(int)(Math.random()*61 +40);

08.}

09.s[i]=new Undergraduate("

本科生"+(i+1),scores[i]);

10.

s[i].setGrade(s[i].calculateGrade());

11.}

12.for(int i=5;i<10;i++){

13.for(int

j=0;j

scores[i][j]=(int)(Math.random()*61 +40);

15.}

16.s[i]=new Postgraduate("研

究生"+(i-4),scores[i]);

17.

s[i].setGrade(s[i].calculateGrade());

18.} 19.int[] c;

20.for(int i=0;i<10;i++){

21.

System.out.print(s[i].getName()+"\t"); 22.

System.out.print(s[i].getType()+"\t");

23.c=s[i].getScores();

24.for(int

j=0;j

System.out.print(c[j]+"\t");

26.}

27.

System.out.println(s[i].getGrade().getScor

eGrade());

28.}

29.}

30.}

6.应用抽象类和接口编写程序,根据第4题的要求输出本科生及研究生的成绩等级。要求:首先设

计一个接口,接口中包含用于计算学生成绩等级的抽象方法,设计两个类分别实现上述接口,这两个类分别表示本科生及研究生的成绩等级标准。其次设计抽象类Student及其两个子类本科生类Undergraduate和研究生类Postgraduate,两个子类分别设置各自的成绩等级计算标准。最后创建测试类进行测试。

//定义接口

01.public interface GradeCalculate {

02.public String getGrade(int[] scores);

03.}

//本科生成绩等级计算标准

01.public class UnderGradeCalculate

implements GradeCalculate {

02.public String getGrade(int[] scores){

03.int average;

04.int sum=0;

05.for(int

i=0;i

06.sum+=scores[i];

07.} 08.

average=sum/Student.COURSE_CO UNT;

09.if(average>=85)

10.return "优秀";

11.else if(average>=75)

12.return "良好";

13.else if(average>=65)

14.return "中等";

15.else if(average>=60)

16.return "及格";

17.else

18.return "不及格";

19.}

20.}

//研究生成绩等级计算标准

01.public class PostGradeCalculate

implements GradeCalculate {

02.public String getGrade(int[] scores){

03.int average;

04.int sum=0;

05.for(int

i=0;i

06.sum+=scores[i];

07.}

08.

average=sum/Student.COURSE_CO UNT;

09.if(average>=90)

10.return "优秀";

11.else if(average>=80)

12.return "良好";

13.else if(average>=70)

14.return "中等";

15.else if(average>=60)

16.return "及格";

17.else

18.return "不及格";

19.}

20.}

//抽象类

01.abstract class Student {

02.final static int COURSE_COUNT=3;

03.private String name;

04.private String type;

05.private int[] scores; 06.private String grade;

07.private GradeCalculate criterion;

08.public Student(String name){

https://www.doczj.com/doc/0c1561418.html,=name;

10.}

11.public void setName(String name){

https://www.doczj.com/doc/0c1561418.html,=name;

13.}

14.public String getName(){

15.return name;

16.}

17.public void setType(String type){

18.this.type=type;

19.}

20.public String getType(){

21.return type;

22.}

23.public void setScores(int[] scores){

24.this.scores=scores;

25.}

26.public int[] getScores(){

27.return scores;

28.}

29.public void setGrade(String grade){

30.this.grade=grade;

31.}

32.public String getGrade(){

33.return grade;

34.}

35.public void

setCriterion(GradeCalculate criterion){

36.this.criterion=criterion;

37.}

38.public GradeCalculate

getCriterion(){

39.return criterion;

40.}

41.}

//本科生类

01.public class Undergraduate extends

Student{

02.public Undergraduate(String

name,int[] scores){

03.super(name);

04.this.setType("本科生");

05.this.setScores(scores);

06.this.setCriterion(new

UnderGradeCalculate());

07.

this.setGrade(this.getCriterion().getG rade(scores));

08.}

09.}

//研究生类

01.public class Postgraduate extends

Student{

02.public Postgraduate(String name,int[]

scores){

03.super(name);

04.this.setType("研究生");

05.this.setScores(scores);

06.this.setCriterion(new

PostGradeCalculate());

07.

this.setGrade(this.getCriterion().getG rade(scores));

08.}

09.}

//测试类

01.public class StudentTest {

02.public static void main(String[]

args){

03.Student[] s=new Student[10];

04.int[][] scores=new

int[10][Student.COURSE_COUNT]; 05.for(int i=0;i<5;i++){

06.for(int

j=0;j

scores[i][j]=(int)(Math.random()*61 +40);

08.}

09.s[i]=new Undergraduate("

本科生"+(i+1),scores[i]);

10.}

11.for(int i=5;i<10;i++){

12.for(int

j=0;j

scores[i][j]=(int)(Math.random()*61 +40);

14.}

15.s[i]=new Postgraduate("研

究生"+(i-4),scores[i]);

16.}

17.int[] c;

18.for(int i=0;i<10;i++){

19.

System.out.print(s[i].getName()+"\t"); 20.

System.out.print(s[i].getType()+"\t");

21.c=s[i].getScores();

22.for(int

j=0;j

System.out.print(c[j]+"\t");

24.}

25.

System.out.println(s[i].getGrade());

26.}

27.}

28.}

1.请在下面程序的划线处填上适当的语句,使程序能够正常运行。

public class MyClass {

public static void main(String args[ ]) {

try{myMethod( );

}

catch(MyException e){

System.out.println(e);

}

}

public static void myMethod( ) throws Exception { //方法中声明抛出异常

throw ( new MyException() );

}

}

class MyException extends Exception { //用户自定义异常类

public String toString( ) {

return("用户自定义的异常");

}

}

2.编写程序,要求程序功能:首先输出“这是一个异常处理的例子”,然后在你程序中主动地产生一

个ArithmeticException 类型被0 除而产生的异常,并用catch 语句捕获这个异常。最后通过ArithmeticException类的对象e的方法getMessage() 给出异常的具体类型并显示出来。

public class ExceptionExam{

public static void main(String[] args){

int a=10,b=0;

double c=0.0;

try{

c=a/b;

System.out.println(a+"/"+b+"="+c);

}catch(ArithmeticException e){

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

}

}

}

3.编写从键盘读入10个字符放入一个字符数组,并在屏幕上显示该数组的程序,要求处理数组越界

异常(ArrayIndexOutOfBoundsException)与输入/输出异常(IOException)。

import java.io.*;

public class ReadChars{

public static void main(String args[]){

BufferedReader buf=null;

System.out.println("请输入十个字符:");

char c[]=new char[10];

try{

buf=new BufferedReader(new InputStreamReader(System.in));

String text=buf.readLine();

for(int i=0;i

c[i]=text.charAt(i);

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

}

}catch(ArrayIndexOutOfBoundsException e1){

System.out.println("\n输入字符超出要求,只显示前十个字符!");

}catch(IOException e2){

e2.getMessage();

}

}

}

4.根据书中

5.3小节所给的创建自定义异常类的使用格式,编写一个自定义异常的小程序。

注意:实践题,答案不唯一。

class MyException extends Exception{

private int idnumber;

public MyException(String message,int id){

super(message);

this.idnumber=id;

}

public int getID(){

return idnumber;

}

}

public class ExceptionDemo{

public void regist(int num) throws MyException{

if(num<0){

throw new MyException("人数为负值,不合理",3);

}

System.out.println("登记人数"+num);

}

public void manager(){

try{

regist(-100);

}catch(MyException e){

System.out.println("登记出错,类别:"+e.getID());

}

System.out.println("本次登记操作结束");

}

public static void main(String args[]){

ExceptionDemo ed=new ExceptionDemo ();

ed.manager();

}

}

第6章Java执行环境类

1.请完成下面程序,使得程序的输出结果为"Equivalence! "。

01.public class StringEquals {

02.public static void main(String[] args) {

03.String a="Java";

04.String b="java";

05.if(a.equalsIgnoreCase(b)) {

06.System.out.println("Equivalence!");

07.}

08.else{

09.System.out.println("Nonequivalence!");

10.}

11.}

12.}

2.请完成下面程序,判断随机产生1000个11位数字字符串中符合手机号码的个数。手机号码应是以130、131、132、133、134、135、136、137、138、139、153、158、159、188、189开头的11位数字。

01.import java.util.*;

02.public class PhoneNumber {

03.public static void main(String[] args) {

04.int count=0;

05.StringBuffer sb=null;

06.String regex="(13[0-9][0-9]{8})|

(15[3|8|9][0-9]{8})| (18[8-9][0-9]{8})";

07.Random r=null;

08.int n;

09.char c; 10.String s=null;

11.System.out.println("符合手机号码的

11位数字字符串为:");

12.for(int i=0;i<1000;i++){

13.r=new Random();

14.sb=new StringBuffer();

15.for(int j=0;j<11;j++){

16.n=r.nextInt(10);

17.c=(char)(n+48);

18.sb.append(c);

19.}

20.s=sb.toString();

21.if(s.matches(regex)){

22.count++;

23.System.out.print(s+"\t");

24.} 25.}

26.System.out.println("\n"+"一共:

"+count+"个");

27.}

28.}

3.编写程序,随机生成10个互不相同的从'a'到'z'的字母将其输出,然后对这10个字母按从小到大的顺序排序并输出排序后的结果。

01.import java.util.*;

02.public class RandomCharTest {

03.public static void main(String[] args){

04.StringBuffer sb=new StringBuffer();

05.Random r=new Random();

06.char c=(char)(r.nextInt(26)+97);

07.sb.append(c);

08.int i=1;

09.String s;

10.while(i<10){

11.c=(char)(r.nextInt(26)+97);

12.s=sb.toString();

13.if(s.indexOf(c)==-1){

14.sb.append(c);

15.i++;

16.}

17.}

18.System.out.println("the character is :

"+sb);

19.char[] cs=sb.toString().toCharArray();

20.for(int k=0;k<9;k++){

21.for(int j=k+1;j<10;j++){

22.if(cs[j]

23.c=cs[k];

24.cs[k]=cs[j];

25.cs[j]=c;

26.}

27.}

28.}

29.System.out.println("after ordered:

"+new String(cs));

30.}

31.}

4.编写程序,输出2010年2月份的日历。

01.import java.util.*;

02.public class CalendarTest {

03.public static void main(String[] args){

04.Calendar c=Calendar.getInstance();

05. c.set(2010,1,1);

06.System.out.println("\t"+"二月"+"\t"+"2010

年");

07.System.out.println("日一二三

四五六");

08.int

days=c.getActualMaximum(Calendar.DAY_OF_

MONTH);

09.int

start=c.get(Calendar.DAY_OF_WEEK);

10.int length=start-1+days;

11.String[] s=new String[length];

12.for(int i=0;i

13.s[i]=" ";

14.}

15.for(int i=start-1,n=1;i

16.if(n<=9){

17.s[i]=" "+n;

18.}

19.else{

20.s[i]=""+n;

21.}

22.n++;

23.}

24.for(int i=0;i

25.if((i%7==0)&&(i>0)){

26.System.out.println(); 27.}

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

29.}

30.}

31.}

5.编写程序,找出给定字符串中所有以字符'a'开头的单词。

01.import java.util.regex.*;

02.public class MatcherTest {

03.public static void main(String[] args) {

04.//找出字符串中以字符'a'开头的所有单词

05.String s="A Java project contains source

code and related files for "

06.+"building a Java program. It

has an associated Java builder "

07.+"that can incrementally

compile Java source files as they are changed.";

08.String regex="\\b[a|A][a-zA-Z]*\\b"; 09.Pattern p=https://www.doczj.com/doc/0c1561418.html,pile(regex);

10.Matcher m=p.matcher(s);

11.System.out.println(s);

12.System.out.println("以字符a开头的所有

单词为:");

13.while(m.find()) {

14.System.out.print(m.group()+" ");

15.}

16.}

17.}

6.编写程序,显示在中文(中国)语言环境下日期、时间及数字的输出格式。

01.import java.util.*;

02.import java.text.*;

03.public class DateFormatTest {

04.public static void main(String[] args) {

05.Calendar c=Calendar.getInstance();

06.Date d=c.getTime();

07.Locale localechina=new

Locale("zh","CN");

08.DateFormat

df=DateFormat.getDateTimeInstance(

09.

DateFormat.MEDIUM,DateFormat.MEDIUM,l

ocalechina);

10.System.out.println("日期/时间格式为:

"+df.format(d));

11.NumberFormat nf;

12.double dd=1259.23; 13.

nf=NumberFormat.getInstance(localechina );

14.System.out.println("通用数值格式:

"+nf.format(dd));

15.

nf=NumberFormat.getCurrencyInstance(localec

hina);

16.System.out.println("货币数值格式:

"+nf.format(dd));

17.

nf=NumberFormat.getPercentInstance(localechi

na);

18.System.out.println("百分比数值格式:

"+nf.format(dd));

19.}

20.}

第7章Java泛型编程1.请完成下面程序,使得程序可以正确编译及运行。

01.public class Gen {

02.private T object;

03.public Gen(T object) {

04.this.object = object;

05.}

06.public T getObject() {

07.return object;

08.}

09.public static void main(String[] args) { 10.Gen str = new

Gen("answer");

11.Gen intg = new

Gen(42);

12.System.out.println(str.getObject() + "="

+intg.getObject());

13.}

14.}

2.分别在下面代码中的注释位置插入如下语句后,判断程序是否能编译成功?

①m1(listA); ②m1(listB);

③m1(listO);

④m2(listA); ⑤m2(listB);

⑥m2(listO);

01.import java.util.*;

02.class A {}

03.class B extends A {}

04.public class Test {

05.public static void main(String[] args) {

06.List listA = new LinkedList(); 07.List listB = new LinkedList();

08.List listO = new

LinkedList();

09.//insert code here

10.}

11.public static void m1(List list)

{}

12.public static void m2(List list) {}

13.}

注释位置可插入的语句为:①、②、④。

3.应用泛型编写一个Java程序,输出三角形、长方形、正方形及圆的面积。要求:首先定义一个接口,该接口中包含一个计算图形面积的方法;其次,定义四个类分别表示三角形、长方形、正方形和圆,在类中分别实现不同图形面积的计算方法;最后,应用泛型可以在控制台输出各种不同图形的面积。

01.import java.util.*;

02.interface Shape {

03.public double getArea();

04.public String getType();

05.}

06.class Circle implements Shape {

07.private double radius;

08.Circle(double radius){

09.this.radius=radius; 10.}

11.public double getArea(){

12.return Math.PI*radius*radius;

13.}

14.public String getType(){

15.return "Circle";

16.}

17.}

18.class Triangle implements Shape {

19.private double side1;

20.private double side2;

21.private double side3;

22.Triangle(double side1,double side2,double

side3){

23.this.side1=side1;

24.this.side2=side2;

25.this.side3=side3;

26.}

27.public double getArea(){

28.double p=(side1+side2+side3)/2;

29.return

Math.sqrt(p*(p-side1)*(p-side2)*(p-side3));

30.}

31.public String getType(){

32.return "Triangle";

33.}

34.}

35.class Rectangle implements Shape {

36.private double width;

37.private double height;

38.Rectangle(double width,double height){

39.this.width=width;

40.this.height=height;

41.}

42.public double getArea(){

43.return width*height;

44.}

45.public String getType(){

46.return "Rectangle";

47.}

48.}

49.class Square implements Shape{

50.private double side;

51.Square(double side){

52.this.side=side;

53.}

54.public double getArea(){

55.return side*side; 56.}

57.public String getType(){

58.return "Square";

59.}

60.}

61.public class GenericsClassWildcardExtTest {

62.public static void main(String[] args) {

63.List lc=new ArrayList();

64.lc.add(new Circle(3));

65.drawAll(lc);

66.List lt=new

ArrayList();

67.lt.add(new Triangle(3,4,5));

68.drawAll(lt);

69.List lr=new

ArrayList();

70.lr.add(new Rectangle(5,4));

71.drawAll(lr);

72.List ls=new

ArrayList();

73.ls.add(new Square(5));

74.drawAll(ls);

75.}

76.public static void drawAll(List

Shape> c) {

77.for(int i=0;i

78.System.out.print(c.get(i).getType()+"

");

79.System.out.println(c.get(i).getArea());

80.}

81.}

82.}

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页)

高级语言程序设计(VB)随堂练习答案DOC

高级语言程序设计(VB)随堂练习答案 第1章概述·1.1程序设计语言 当前页有1题,你已做1题,已提交1题,其中答对1题。 1. https://www.doczj.com/doc/0c1561418.html,是一种( )程序设计语言。 A. 面向事件 B. 面向属性 C. 面向对象 D. 面向过程 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 第1章概述·1.2程序设计 当前页有2题,你已做2题,已提交2题,其中答对2题。 1.把源程序代码翻译为目标程序代码可以使用的翻译方式为( )。 A. 嵌入方式 B. 运行方式 C. 连接方式 D. 解释方式或编译方式 答题: A. B. C. D. (已提交) 参考答案:D 问题解析: 2.编译程序时出现的错误称为( ) 错误。 A. 语法或编译 B. 运行 C. 逻辑 D. 计算 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 第1章概述·1.3建立简单控制台应用程序 当前页有3题,你已做3题,已提交3题,其中答对3题。 1.存储数据不属于数据处理功能。

答题:对. 错. (已提交) 参考答案:× 问题解析: 2.控制台应用程序至少有一个Main过程。 答题:对. 错. (已提交) 参考答案:√ 问题解析: 3.上机时,程序编译和连接成功后,系统自动生成以.exe为扩展名的可执行文件。 答题:对. 错. (已提交) 参考答案:√ 问题解析: 第2章基本数据类型与表达式·2.1基本字符集和词汇集 当前页有3题,你已做3题,已提交3题,其中答对3题。 1.下面选项中()是算术运算符。 A. % B. & C. Mod D. And 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 2.下面不合法的标识符是()。 A. Go_To B. Integer C. 姓名 D. Int1 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 3.在程序设计语言系统中具有固定语法含义的符号串称为标识符。 答题:对. 错. (已提交) 参考答案:× 问题解析: 第2章基本数据类型与表达式·2.2 基本数据类型

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

《高级语言程序设计》复习题及答案

一、选择题 1.以下叙述正确的是( ): A)在C程序中,main函数必须位于程序的最前面 B) C程序的每行只能写一条语句 C) C语言使用库函数实现输入输出操作 D)注释中的拼写错误会影响编译结果 2、以下说法中正确的是() A) C语言程序总是从第一个的函数开始执行 B) C语言程序总是从main()函数开始执行 C)在C语言程序中,要调用的函数必须在main()函数中定义 D)C语言程序中的main()函数必须放在程序的开始部分 3、下列选项种说法正确的是( ) A)函数由声明部分和执行部分两部分组成 B)语言中main函数一定在程序的开始部分 C)C语言程序总是从第一个定义的函数开始执行 D)C程序的每行中只能写一条语句 4、设有说明:int a;float b; char c; double d; 则表达式1.3*a+2*b*c+d*(int) 2.6 值的类型为( )。 A)doubleB) char C) floatD) int 5、C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符 6、以下不正确的C语言标识符是( )。 A) ABC B) abc C)a_bc D) void 7、下列运算符中优先级最高的是( ) A)< B)+ C)&& D)!= 8、以下选项中属于C语言中合法关键字的是( ) A)Float B)abc C)int D)CASE 9、若x、i、j和k都是int型变量,计算下面表达式后,x的值为( ) x=(i=4,j=16,k=32) A)4 B)16 C)32 D)52 10、在C语言中,要求数据必须是整型的运算符是( ) A)/ B)+ + C)!=D) % 11、若整型变量x的值为8,则下列表达式中值为1的表达式是 A)x+=x-=x B) x%=x-1 C) x%=x%=3 D) x/=x+x 12、若w=1,x=2,y=3,z=4,则条件表达式“w > x? w : y< z ? y : z”的值是( ) A)4 B)3 C)2 D)1 13、有以下程序,程序运行后的输出结果是。 main() {inti=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k); }

《高级语言程序设计》答案

1. 输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。#include int main() { int i,j,t; int max(int,int); int min(int,int); scanf("%d%d",&i,&j); if(i int main() { int max4(int,int,int,int); //对max4的函数声明 int a,b,c,d; scanf("%d%d%d%d",&a,&b,&c,&d); //输入4个数 printf("max=%d\n",max4(a,b,c,d));//调用4个数中的最大者 return 0; } int max4(int a,int b,int c,int d) //定义max4函数 { int max2(int,int); //对max2的函数声明 return max2(max2(max2(a,b),c),d); //调用max2把作为函数值带回main函数} int max2(int a,int b) { return(a>b?a:b); //返回条件表达式的值,即a和b中的大者 } 3. 用递归调用的方法求5!。 #include int main() { int fac(int); int n; scanf("%d",&n);

2020年10月全国高级语言程序设计(一)自考试题及答案解析.docx

??????????????????????精品自学考料推荐?????????????????? 全国 2018 年 10 月高等教育自学考试 高级语言程序设计(一)试题 课程代码: 00342 一、单项选择题(本大题共20 小题,每小题 1 分,共 20 分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括 号内。错选、多选或未选均无分。 1.下列不正确的转义字符是() . A. ′ ′ B. ′ ″ C. ′ \086′ D. ′ \0′ 2.下列运算符中,优先级最高的是() A. [] B.++ C.% D.&& 是 C 语言保留字的是 () 3.下列标识符中,不. A. char B. while C. min D. default 4.下列数据中,不.是 C 语言常量的是 () A. ′ \n′ B. ″ a″ C. e-2 D. 012 5.若定义了 int a; char b; float c ;,则表达式a*b-c 的类型是 () A. float B. int C. char D. double 6.若定义了 int a, x,y;,则下列语句中不.正确的是 () A. x=3 ,y=5 ; B. ++x ; C. x=y+=x*30 ; D. a=y+x=30 ; 7.调用函数时,若实参是一个数组名,则向函数对应的形参传送的是() A. 数组的长度 B.数组的首地址 C. 数组第一个元素的值 D. 整个数组元素的值 8.在 C 语言中,函数返回值的类型是由() A. 定义的函数类型决定 B.return 语句中表达式的类型决定 C.调用该函数的主调函数类型决定 D. 调用该函数时系统状态决定 9.若定义了 int b [][ 3]={ 1,2, 3,4, 5, 6, 7};,则 b 数组第一维的长度是 () A. 2 B. 3 C. 4 D.无确定值 1

《JAVA语言程序设计》期末考试试题及答案

《JA V A语言程序设计》期末考试试题及答案3 一、单项选择题 1、如下哪个是Java中的标识符() A、public B、super C、3number D、width 2、如下哪个是Java中的标识符( ) A、fieldname B、super C、3number D、#number 3、已知如下定义:String s = "story"; 下面哪个语句不是合法的( ) A、s += "books"; B、s = s + 100; C、int len = s.length; D、String t = s + “abc”; 4、如下哪个是Java中有效的关键字() A、name B、hello C、false D、good 5、下面的代码段执行之后count的值是什么( ) int count = 1; for (int i = 1; i <= 5; i++) { count += i; } System.out.println(count); A、5 B、1 C、15 D、16 6、定义一个类,必须使用的关键字是( ) A、public B、class C、interface D、static 7、定义一个接口必须使用的关键字是() A、public B、class C、interface D、static 8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是() A、p.add(b); B、p.add(b,"North"); C、p.add(b,"South"); D、b.add(p,"North"); 9、声明并创建一个按钮对象b,应该使用的语句是() A、Button b=new Button(); B、button b=new button();

《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”。

高级语言程序设计答案

《高级语言程序设计答案 一、选择题(每题2分,共30分,请将答案写在后面的答题栏...上) 1-5 BDBBB 6-10 BBDCC 11-15 CDBAB 二、填空题(1-3题每空1分,4-8题每空2分,共20分) 1、对象,事件驱动 2、frm ,vbp 3、函数 过程 4、31 5、9 6、countn<5 n mod 3=1 and n mod 5=1 and n mod 7=1 8、7 7、*n s+1/f 三、综合题(每题5分,共25分) 1、 (2*y)/(a*x+b*y)(a*x-c*z) 2、(x+sqr(x^2+1))^(1/3) 3、30 60 4、7 5、1)建立界面。先建立窗体,再利用控件在窗体上创建各种对象。 2)设置属性。设置窗体或控件等对象的属性。 3)编写代码。编写对象的事件代码。 四、程序设计题(8+8+9,共25分) 1:x 的值由文本框输入,计算分段函数的值:y=???????≥<≤<≤<2 ,321,210,10,0x x x x 。 private sub command1_click( ) Dim x% x=text1.text if x>=2 then y=3 elseif x>=1 then y=2 elseif x>=0 then y=1 2:统计100以内被3整除的数比被5整除的数多多少。 Private Sub Command1_Click() Dim i%, s1%, s2% For i = 1 To 100 If i Mod 3 = 0 Then s1 = s1 + 1 If i Mod 5 = 0 Then s2 = s2 + 1 Next i

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

程序设计基础试题(附答案)

程序设计基础复习题 一、单选 1、一个完整的计算机系统应该包括() A、系统软件和应用软件 B、计算机及其外部设备 C、硬件系统和软件系统 D、系统硬件和系统软件 2、“裸机”的概念是指() A、正在进行设计还没有组装好的计算机 B、已经组装好但还没有安装任何软件的计算机 C、仅安装了操作系统的计算机系统 D、安装了文字处理软件但没有安装专用数据处理系统的计算机 3、世界上第一台电子数字计算机研制成功的时间是() A、1936年 B、1946年 C、1956年 D、1970年 4、CASE的含义是() A、计算机辅助设计 B、计算机辅助制造 C、计算机辅助教学 D、计算机辅助软件工程5、当前广泛使用的微型计算机是() A、第一代 B、第二代 C、第三代 D、第四代 6、当代计算机的体系结构称为是() A、冯·诺依曼机 B、非冯·诺依曼机 C、图灵机 D、比尔盖茨机 7、硬盘是() A、输入设备 B、输出设备 C、存储设备 D、计算设备 8、下面4句话中,最准确的表述是() A、程序=算法+数据结构 B、程序是使用编程语言实现算法 C、程序的开发方法决定算法设计 D、算法是程序设计中最关键的因素

9、计算机能直接执行的语言是() A、机器语言 B、汇编语言 C、高级语言 D、目标语言 10、解释程序的功能是() A、将高级语言程序转换为目标程序 B、将汇编语言程序转换为目标程序 C、解释执行高级语言程序 D、解释执行汇编语言程序 11、下面4种程序设计语言中,不是面向对象式语言的是() A、JAVA B、Object Pascal C、Delphi D、C 12、不是C语言的基本数据类型是() A、int B、double C、char D、bool 13、在C语言中,为了求两个整数相除之后得到的余数,可以使用运算符() A、/ B、% C、* D、++ 14、数据的逻辑结构分为() A、纯属结构和非线性结构 B、顺序结构和非顺序结构 C、树型结构和图型结构 D、链式结构和顺序结构 15、用链表表示纯属表的优点是() A、便于随机存取 B、便于插入和删除操作 C、花费的存储空间较顺序存储少 D、元素的物理顺序与逻辑顺序相同 16、栈的最主要特点是() A、先进先出 B、先进后出 C、两端进出 D、一端进一端出 17、下面4句结论只有一句是错误的,它是()

《Java语言程序设计(一)》(课程代码04747)

《Java语言程序设计(一)》(课程代码04747) 第一大题:单项选择题 1、下列字符组合不能作为Java整型常量的是( ) ? A.078 ? B.0x3ACB ? C.5000 ? D.0x3ABC 参考答案:A 2、以下程序代码的输出结果是( ) int x = 10; while (x > 7) { System.out.print("*"); x--;} ? A.** ? B.*** ? C.* ? D.**** 参考答案:B 3、设类U声明,及对象u和v的定义如下: class U{ int x, int y; U(int a, int b){x= a; y = b;} void copy(U a){ x = a.x; y = a.y;} } U u = new U(1, 2), v = new U(2, 3); 在以下供选择的代码中,可能引起系统回收内存的是( ) ? A.u.x=v.y;u.y=v.x

? B.u=v ? C.u.copy ? D.v.copy(u) 参考答案:B 4、设有以下代码: String s l="123"; String s2="123"; String s3=new String("123"); 则表达式s1==s2和s1==s3的值分别是( ) ? A.true,true ? B.false,false ? C.true,false ? D.false,true 参考答案:C 5、以下关于AWT与Swing之间关系的叙述,正确的是( ) ? A.Swing是AWT的提高和扩展 ? B.在写GUI程序时,AWT和Swing不能同时使用? C.AWT和Swing在不同的平台上都有相同的表示? D.AWT中的类是从Swing继承的 参考答案:A 6、在以下Swing组件中,能为它指定布局管理器的是( ) ? A.JScrollBar对象 ? B.JMenuBar对象 ? C.JComboBox对象

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

《高级语言程序设计》期末考试试卷附答案 一、选择题(共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,当从第一列开

Java语言程序设计 第2版 (郑莉)课后习题答案

Java语言程序设计第2版(郑莉) 第二章习题答案 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)构造方法的主要作用是完成对象的初始化工作;

自考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( )方法,声明线程对象,创建线程,并

高级语言程序设计作业及答案(2017.1)

《高级语言程序设计(https://www.doczj.com/doc/0c1561418.html,)》作业 2017.1 教学中心:新疆产业发展研究中心校外学习中心 专业层次: 高中升大专 学 号:2009 姓 名: 王 成 均 分 数: 注意事项:1. 本作业共五大题,满分100分; 2. 请将以上各项信息填写清楚,否则,作0分处理; 3. 所有答案直接做在答案栏上,做在其它地方无效。 一.判断题(如正确打√,否则,打×。) 1.源程序中的错误一般分为编译错误、运行错误和逻辑错误等三种。 2.控制台应用程序至少有一个Main 过程。 3.在程序设计语言系统中具有固定语法含义的符号串称为标识符。 4. 判别a 是否等于b ,若a=b ,则输出字符串 “a is equal to b ”的块结构条件语句为: If a=b Then WriteLine(“a is equal to b ”) End If 5. 输入结构变量的值就是输入该变量的各个元素的值。 6.若某个模块中以关键字private 定义函数过程,则该函数过程只能在该模块中使用。 7. 关键字private 用于声明私有成员。私有成员可以在类中和类外访问。 8.在程序运行期间,用户可以用文本框显示信息。文本框接受输入的内容的属性是Text 。 9.列表框ListBox 中项目的序号从1开始到Listcount 结束。 10.以数据流的方式对文本文件中的数据进行读/写操作,需要StreamReader 类和StreamWriter 类。 答案栏: 1.√ 2.√ 3.√ 4.√ 5.√ 6.× 7.√ 8.× 9.√ 10.×二.单项选择题 1.下列变量名中错误的是( )。 A. n B. 名称 C. ab# D.“年龄” 2.设X 为整型变量,不能正确表达1< X < 5的逻辑表达式是( )。 A. 1< X <5 B. X=2 or X=3 or X=4 C. 1=5) 3.设有数组说明语句:Dim c( 10) AS Integer ,则下面表示数组c 的元素选项中( )是错误的。 A. c(i-1) B. c(5+0.5) C. c(0) D. c(11) 4.在过程的形式参数前面加上关键字( ),则该参数说明为引用参数。 A. Val B. ref C. Byref D. ByVal 5. 设已定义函数过程f ,它有三个实型传值参数;设a,b 和c 为实型变量,则调用该函数的正确形式为( )。 A. f B. f( a+b, b+c ) C. f ( a+b, b+c ,c+a ) C. f a+b, b+c, c+a 6. 若使命令按钮不可见,可以设置Visible 属性的值为( )。 A. False B. True C. T D. F 7.要使单选按钮RadioButton 处于选中或未选中状态,需由( )属性来决定。 A. Show B. List C. Text D. Checked 8.要删除列表框中的某一个项目,需要使用( )方法。 (密封线内不答 题 )

2020年10月全国高级语言程序设计(一)自考试题及答案解析

全国2018年10月高等教育自学考试 高级语言程序设计(一)试题 课程代码:00342 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下列不.正确的转义字符是( ) A. ′\\′ B. ′\″ C. ′\086′ D. ′\0′ 2.下列运算符中,优先级最高的是( ) A.[] B.++ C.% D.&& 3.下列标识符中,不.是C语言保留字的是( ) A. char B. while C. min D. default 4.下列数据中,不.是C语言常量的是( ) A. ′\n′ B. ″a″ C. e-2 D. 012 5.若定义了int a;char b;float c;,则表达式a*b-c的类型是( ) A. float B. int C. char D. double 6.若定义了int a,x,y;,则下列语句中不.正确的是( ) A. x=3,y=5; B. ++x; C. x=y+=x*30; D. a=y+x=30; 7.调用函数时,若实参是一个数组名,则向函数对应的形参传送的是( ) A.数组的长度 B.数组的首地址 C. 数组第一个元素的值 D. 整个数组元素的值 8.在C语言中,函数返回值的类型是由( ) A.定义的函数类型决定 B.return语句中表达式的类型决定 C.调用该函数的主调函数类型决定 D. 调用该函数时系统状态决定 9.若定义了int b[][3]={1 ,2,3,4,5,6,7};,则b数组第一维的长度是( ) A. 2 B. 3 C. 4 D.无确定值 1

高级语言程序设计(C)答案

学习中心/ 函授站_ 姓名学号 西安电子科技大学网络与继续教育学院 2015 学年上学期 《高级语言设计(C)》期末考试试题 (综合大作业) 题号一二三四总分 题分15 25 30 30 得分 考试说明: 1、大作业于2015 年4 月3 日公布,2015 年5 月9 日前在线提交; 2、考试必须独立完成,如发现抄袭、雷同、拷贝均按零分计。 一、名词解释(每小题 3 分,共15 分) 1、【初始化】: 初始化就是把变量赋为默认值,把控件设为默认状态,把没准备的准 备好。 2、【软件测试】: 描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过 程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。 3、【库函数】:顾名思义是把函数放到库里,是别人把一些常用到的函数编完放到一个 文件里,供程序员使用,程序员用的时候把它所在的文件名用#include<> 加到里面就可以了(尖括号内填写文件名),例如#include 。 4、【作用域】:通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部 性,增强程序的可靠性,减少名字冲突。 5、【编译预处理】:编译预处理是 C 语言区别于其它高级程序设计语言的特征 之一,它属于 C 语言编译系统的一部分。 C 程序中使用的编译预处理命令均以# 开头,它在 C 编译系统对源程序进行编译之前,先对程序中这些命令进行“预处

理”。本章的知识点是编译预处理命令的三种不同形式:宏定义、文件包含和条 件编译。 二、简答题(每小题 5 分,共25 分) 1、为什么要用变量? 答:1) 、计算机在工作过程中所产生的所有数据,都是在“内存”是存储和读取的。 大家可以把“内存”想象成一个工厂的仓库,数据呢就是这个工厂工作过程中要使用的“零 件”。在一段程序中,有很多很的数据(零件),它们分别存放在内存(仓库)中的不同地方。需要用变量把它引用出来。 2、算法设计的一般步骤有哪些? 答:1)、分析问题:输入是什么?输出是什么?条件是什么?能用什么方法? 2 )、用流程图画出解决方案:决定了程序的结构。三大结构有:顺序结构、判断结构、循 环结构 3 )、算法设计:常见的算法设计方法:穷举法、迭代法、递推法、递归法、回溯法、贪婪 法、分治法 4 )、程序设计:用编程语言来实现 3、引入数组机制的好处是什么? 答:数组在内存中分配是栈内存,是【连续】存储【同一种类型】的【线性】结构。它 的作用主要体现在对同一类型的数据进行存储。(要是int 型,全都是int 型,要是char 型,全都是char 型),不可以出现其他类型。对数据的访问是具名访问,可是直接读出数 据中某一块的数据,例如int array[5]={1,2,3,4,5}; array[3] 等于 3. 这里需要注意的是:数组的下标是从0 开始的。如果你想访问array[5], 会提示错误,因为已经越界了。提取数据比较方便,因为数组在内存中是连续存储数据的,好找。随便说句,数组可以当指针用,但它绝不是指针。 4、函数设计三要素包括功能、输入和输出三个方面的内容,它们和函数结构的关系是 怎么样的? 答:函数设计的功能告诉这个函数具有具体的功能。输入对应函数的首部,输出对应函数的返回值。 5、值调用的特点是什么? 答:函数体内相应数据的改变不影响调用它的函数中的数据。 三、分析填表题(每小题 6 分,共30 分) 1. struct student { int StuId; int Score[4]; int Total ; } struct student com [10] ={{ 1, 90, 83, 72, 82},{ 2, 71, 92, 88, 78 }, { 3, 85, 72, 98, 66 },{ 4, 78, 95, 63, 90 } }; struct student x, *sPtr; sPtr=com; x=com[0]; 结构成员引用值 x. Total 0

文本预览
相关文档 最新文档