文档库 最新最全的文档下载
当前位置:文档库 › java程序设计——基于JDK6和NetBeans实现第4章课后作业答案

java程序设计——基于JDK6和NetBeans实现第4章课后作业答案

java程序设计——基于JDK6和NetBeans实现第4章课后作业答案
java程序设计——基于JDK6和NetBeans实现第4章课后作业答案

第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.wendangku.net/doc/803123545.html,=name;

09.}

10.public void setName(String name){

https://www.wendangku.net/doc/803123545.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_COUNT;

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

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

07.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

14.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

25.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.wendangku.net/doc/803123545.html, = name;

24.}

25.public void setName(String name) {

https://www.wendangku.net/doc/803123545.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_COUNT;

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

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

07.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

14.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

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

26.}

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

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

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

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.wendangku.net/doc/803123545.html,=name;

10.}

11.public void setName(String name){

https://www.wendangku.net/doc/803123545.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().getGrade(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().getGrade(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

07.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

13.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

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

24.}

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

26.}

27.}

28.}

C++程序设计基础课后答案 第八章

8.1 阅读下列程序,写出执行结果 1.#include class Bclass { public: Bclass( int i, int j ) { x = i; y = j; } virtual int fun() { return 0 ; } protected: int x, y ; }; class Iclass:public Bclass { public : Iclass(int i, int j, int k):Bclass(i, j) { z = k; } int fun() { return ( x + y + z ) / 3; } private : int z ; }; void main() { Iclass obj( 2, 4, 10 ); Bclass p1 = obj; cout << p1.fun() << endl; Bclass & p2 = obj ; cout << p2.fun() << endl; cout << p2.Bclass :: fun() << endl; Bclass *p3 = &obj;

cout << p3 -> fun() << endl; } 2.#include class Base { public: virtual void getxy( int i,int j = 0 ) { x = i; y = j; } virtual void fun() = 0 ; protected: int x , y; }; class A: public Base { public: void fun() { cout<<"x = "<

5. 下面代码的执行结果是什么?( )<% x=3; %><% int x=5; %><%! int x=7; %> x = <%=x%>, <%=this.x%> A. x = 3, 5 B. x = 3, 7 C. x = 5, 3 D. x = 5, 7 6. Java Applet 源程序文件的扩展名为()。 A. .java B. .class C. .html D. .exe 7. 在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的()方法来完成一些画 图操作。() A. start() B. stop() C. init() D. paint() 8. 阅读下面的代码,第10行的语句将调用哪个方法?() 1. class Person { 2. public void printValue(int i, int j) {/*…*/ } 3. public void printV alue(int i){/*...*/ } 4. } 5. public class Teacher extends Person { 6. public void printValue() {/*...*/ } 7. public void printValue(int i) {/*...*/} 8. public static void main(String args[]){ 9. Person t = new Teacher(); 10. t.printValue(10); 11. } 12. } A. 行2 B. 行3 C. 行6

计算机程序设计基础习题册(含答案)

《计算机程序设计基础》 习 题 册

班级学号姓名成绩一、单选题 1.C++源程序文件的默认扩展名为A。 A) cpp B) exe C) obj D) lik 2.由C++源程序文件编译而成的目标文件的默认扩展名为C。 A) cpp B) exe C) obj D) lik 3.由C++目标文件连接而成的可执行文件的默认扩展名为B。 A) cpp B) exe C) obj D) lik 4.编写C++程序一般需经过的几个步骤依次是B。 A)编译、编辑、连接、调试 B)编辑、编译、连接、调试 C)编译、调试、编辑、连接 D)编辑、调试、编辑、连接 5.程序中主函数的名字为 A 。 A) main B) MAIN C) Main D) 任意标识符 6.下面四个选项中,均是不合法的用户标识符的选项的是C。 A) A p_o do B)float lao _A C)b-a goto int D)_123 temp INT 7.下列变量名中合法的是C。 A) B)C)Tom B) 3a66 C) _6a7b D) $ABC 8.存储以下数据,占用存储字节最多的是 D 。 A) 0 B) ‘0’ C) “0” D) 0.0 9.在C++语言中,字符型数据在内存中的存储形式是D。 A) 补码 B) 反码 C) 原码 D) ASCII码 10.若有说明语句:char c =’\072’;则变量c A。 A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,变量的值不确定 二、填空题 1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。 2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。 3.一条表达式语句必须以__分号_;___作为结束符。 4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。 5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令

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

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

《计算机程序设计基础》课后练习题参考答案

《计算机程序设计基础》课后练习题1 一.判断题 (1)(错)事件过程由某个用户事件或系统事件触发执行,但不能被其他过程调用。 (2)(错)若X=2, Y=5,则表达式 Y-2>X AND X+2>Y 的结果为:True。 (3)(错)常量是指在程序运行过程中其值可以改变的那些量。 (4)(错,timer没有)VB工具箱中的所有控件都具有宽度(Width)和高度(Height)属 性。 (5)(错)定义变量:Dim max,min as Single , 则max 和 min 的数据类型均为Single。 (6)(对)如果创建的菜单项的标题是一个减号“-”,则该菜单项显示为一条分隔线。 (7)(错)标准模块文件的扩展名是“*.VBP”。 (8)(错,都不能)定时器控件可以响应Click事件,但不能响应DbClick事件。 (9)(错)在默认情况下,数组下标下界的缺省值为1。 (10)(对)在使用字体对话框时,需要对其Flags属性先进行相应设置。 二.单选题 (11)在Visual Basic中,表示鼠标单击事件的是 C 。 A)Activate B)DoubleClick C)Click D)MouseDown (12)用于设置计时器时间间隔的属性是 A 。 A)Interval B)Name C)Left D)Top (13)函数Int(10*Rnd)是在 D 范围内的整数。 A)[1,10] B)[1,10] C) [0,9) D)[0,9] (14)Select case语句结构的结尾应使用 D 。 A)End B) End Case C) End Sub D) End Select (15)改变了容器的坐标系后,该容器的 A 属性值不会改变。 A)left B)scaleleft C)scaletop D)scalewidth (16)执行下列语句后,列表框中各表项顺序为 D List1.Clear For i=1 to 4 : List1.AddItem i-1,0 :Next i A)B)C)D) (17)输入对话框InputBox的返回值的类型是 A 。

《java程序设计》作业答案

《JA V A程序设计》作业答案 一、选择题 1、编译HelloWorld.java的正确命令是: C) javac HelloWorld.java 2、正确运行HelloWorld.java的正确命令是: A)java HelloWorld 3、下面程序代码,使用多行注释正确的是: C)/* int k=9; int j=8; k = k + j; */ 4、long型的取值范围是: D)-263~263-1 5、下面不属于Java保留字的是: C)malloc 6、下面属于非法的Java标识符的是: D) abc-d 7、对与System.out.println()语句解释合理的是: C)执行后输出一个空行 8、阅读下面的代码,回答问题, for( m = 0 ; m > -2 ; m -- ){….} For循环执行多少次: C)2 9、阅读下面的代码,回答问题, for( m = 0; m < 5; m++ ) { System.out.print( m + "," ); if( m == 3 ) break; } 执行结果是: C)0,1,2,3, 10、阅读下面的代码,回答问题, public class Ex { int x = 1; void m() { int x = 3; System.out.print( "x= " + x); } public static void main( String[] args ) { Ex ex = new Ex();

ex.m(); } } 执行结果是: B)x=3 11、下面语句在编译时不会出现错误信息的是: a) float f = 1.3; b) char c = "a"; c) byte b = 257; d) boolean b = null; e) int i = 10; 12、编译和运行下面的代码,会有什么结果产生: public class MyClass { public static void main(String arguments[]) { amethod(arguments); } public void amethod(String[] arguments) { System.out.println(arguments); System.out.println(arguments[1]); } } a) 错误,静态方法不能直接引用非静态方法b) 错误,主方法有错误 c) 错误,数据定义有错误d) 方法amethod必须被声明为String型 13、编译期间会出错的是: a) import java.awt.*; package Mypackage; class Myclass {} b) package MyPackage; import java.awt.*; class MyClass{} c) /*This is a comment */ package MyPackage; import java.awt.*; class MyClass{} 14、byte型的变量的表示范围为: a) -128 to 127 b) (-2 power 8 )-1 to 2 power 8 c) -255 to 256 d) 依赖Java虚拟机而定 15、在命令行运行命令:java myprog good morning 会有什么结果显示出来: public class myprog{ public static void main(String argv[]) { System.out.println(argv[2]) } } a) myprog b) good c) morning

java编程题全集题及答案

J a v a程序设计总复习题 1、编写一个Java程序,用if-else语句判断某年份是否为闰年。(分支) // Programme Name LeapYear.java public class LeapYear{ public static void main(String args[]){ int year=2010; if(args.length!=0) year=Integer.parseInt(args[0]); if((year%4==0 && year%100!=0)||(year%400==0)) 年是闰年。"); else 年不是闰年。"); } }//if-else语句 2、编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和。(循 环) // programme name ForTest.java public class ForTest { public static void main( String args[] ) { int i,j,mul,sum=0; for(i=1;i<=10;i++) { mul=1; for(j=1,j<=i;j++) { mul=mul*j; } sum=sum+mul; } “1!+2!+3!+……+10!= ”+sum); } } 3、依次输入10个学生成绩,判断学生(优秀、良好、中等、及格、不及格) 并计算人数(switch) 4、使用冒泡排序(数组) public class BubbleSort { public static void main(String[] args) {

程序设计基础练习题(全答案版)

《程序设计基础——C#.NET》练习 参考答案: 一、选择题 https://www.wendangku.net/doc/803123545.html,的目的就是将____A____作为新一代操作系统的基础,对互联网的设计思想进行扩展。A.互联网 B. Windows C. C# D. 网络操作系统 2.假设变量x的值为10,要输出x值,下列正确的语句是__C__。 A.System.Console.writeline(“x”) B. System.Cosole.WriteLine(“x”) C. System.Console.WriteLine(“x={0}”,x) D. System.Console.WriteLine(“x={x}”) 3.要退出应用程序的执行,应执行下列的_A___语句。 A. Application.Exit(); B. Application.Exit; C. Application.Close(); D. Application.Close; 4.关于C#程序的书写,下列不正确的说法是__D________。 A.区分大小写 B.一行可以写多条语句 C.一条语句可以写成多行 D.一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法 5. 在C#语言中,下列能够作为变量名的是__C__。 A.if B. 3ab C. b_3a D. a-bc 7. 能正确表示逻辑关系“a≥5或a≤0”的C#语言表达方式是__D__。 A.a>=5 or a<=0 B. a>=5|a<=0 C. a>=5&&a<=0 D. a>=5||a<=0 8. 以下程序的输出结果是___C_____。 A. 5 B. 4 C. 6 D. 不确定 9. If语句后面的表达式应该是__A___。 A.逻辑表达式 B. 条件表达式 C. 算术表达式 D. 任意表达式10.有如下程序:

Visual Basic 程序设计基础教程-课后习题答案-范荣强

第一章程序与编程环境 一、填空题 1. 工程,Form_Load 2. 事件(触发) 3. 窗体,Name 4. CurrentX, CurrentY 5. maxButton, BorderStyle = 1 or 3 or 4 or 5 6. Alignment, 空缺,AutoSize 7. Style, LoadPicture 8. Line, Shape 9. 重画10. FillStyle ll. MultiLine, maxLength, Locked 12. Font 13. sub, 对象名,事件名14. 方法,Object.Method, text1.setfocus() 15. Name, minButtom, CurrentX(Y), Caption 16. Interval, Enable 17. timer, Interval, ms(毫秒) 18. Mouse Down, Click, LoastFocus 19. .Frm, .Frx, .bas. cls. Vbp 20. 注释, “Rem 语句”或者“’语句” 第二章数据的类型、表示以及运算 一、请指出下列哪些是VB的合法常量,并说明原因 (1)√(2)X 常量不能加类型说明符号改成123.4 (3)X与上题类似,如果是常量,则类型说明符放在后面(4)√等价于2E3 (5) √(6)√等于十进制的4113 (7)X 如果是16进制要写&符号(8)X 指数不能为小数(9)X 月份超过12,日超过31 (10)√(11)√(12)√等价于上一题(13)X 8进制数每一位不能超过8 (14)√(15)X 变量,常量要为基本数据类型的值(16)√ 二、找出合法变量 (1)√(2)√如果与控件Label1同在一个应用程序里面,该变量会屏蔽掉控件Label1 (3) X 保留字(4)√(5)X 变量不能以数字开头(6)变量不能有小数点 (7)√(8)√数组变量(9)X保留字(10)√可以,但rnd()不可以,rnd()是函数 (11) √(12)√(13)√(14)X ’符号表示注释(15)X 这是表达式,不是变量(16)X 同上,是表达式 三、指出下列数据x,y,z的声明是否正确,如果正确请指明其类型 (1)√ x--long, y—variant, z—integer (2) √ x—long, y—long, z—integer (3) √ x—double, y—double, z—integer (4) X 变量x &中间不能有空格 (5)√自动转换成字符串 (6)X 变量声明不能直接赋值 (7)√ (8)√自动转换成字符串 (9)X 常量不能把函数写上去 (10)√ 四、写出下列表达式的结果 (1)1 (2) 1 (3)false (4) ab12 (5)123 (6)出错,加法表达式中如果有一个是数值类型,则“+”表示加号,而不是字符的链接符号(7)False (8)true (9) true (10) false 默认转换成相同类型(数值),建议这里把2改成D试试 (P.S. 布尔类型TRUE = -1, FALSE = 0; 优先顺序:^(乘方)→-(求负)→*、/→\(整除)→MOD→+、-) 五、写出下列函数的结果

Java程序设计课程作业

Java程序设计课程作业 第一章绪论 1、安装Java SDK到你的电脑中。 2、选择安装一种Java开发工具到你的电脑中。Jcreater、NetBeans、Eclipse 3、编译并运行一个“Hello World”Java程序。 程序代码: // public class App2_1 { public static void main(String[]args) { System.out.println("hello Word"); } } 4、编译并运行一个Java Applet程序。 答:编译成功,不过浏览器不显示自己的Applet程序,还在学习中,错误的原因是自己电脑上java的安全设置的原因,修改后运行成功。 第二章Java语法基础 1、下列表达式是否有错?若有错,请说明何处出现何种错误;若无错,请给出其值。 (1) 3+4<<2^-8 没有错误,运行结果为-28 (2) 36>>2*4&48<<8/4+2 运行结果为0

有错误,||这个运算规律是两边均为boolean型 (4) 2*4&&0<2||4%2 有错误,||这个运算规律是两边均为boolean型 2、任意准备一份学生成绩表,其中包括至少3门课程、每门课程至少10名同学的成绩。请编写程序完成以下功能:(1) 统计并输出各门课程的平均成绩。(2) 输出等级表:优、良、中、及格及不及格。 import java.util.*; class student{ String num; doublemath; doubleenglish; doublechinese; } publicclass Test{ publicstaticvoid main(String[]agrs){ student stu[]=new student[11]; for(int i=0;i<10;i++) stu[i]=new student(); Scanner reader=new Scanner(System.in); System.out.println("请依次输入十个同学的数学,英语。语文的成绩:"); for(int i=0;i<=10;i++){ System.out.println("第"+(i+1)+"同学的数学,英语。语文的成绩:"); stu[i].math=reader.nextInt(); stu[i].english=reader.nextInt(); stu[i].chinese=reader.nextInt(); } double sum=0; for(int i=0;i<10;i++) sum=sum+stu[i].math; float A=(float)sum/10; System.out.println("数学平均成绩:"+A); //int sum;

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;

C++程序设计基础(第4版)(上)习题解答

《C++程序设计基础》(第4版)(上) 习题与解答 第1章基本数据与表达式 1.1 选择题 1.一个最简单的C++程序,可以只有一个(C )。 (A)库函数(B)自定义函数(C)main函数(D)空函数 2.用C++语言编写的源程序要成为目标程序必须要经过(D )。 (A)解释(B)汇编(C)编辑(D)编译3.C++程序中的简单语句必须以(B )结束。 (A)冒号(B)分号(C)空格(D)花括号4.假设有说明int a=0; double x=5.16;,则在以下语句中,(C )属于编译错误。 (A)x=a/x; (B)x=x/a; (C)a=a%x; (D)x=x*a; 5.执行C++程序时出现的“溢出”错误属于(C )错误。 (A)编译(B)连接(C)运行(D)逻辑 6.在下列选项中,全部都是C++关键字的选项为(C )。 (A)while IF Static (B)break char go (C)sizeof case extern (D)switch float integer 7.按C++标识符的语法规定,合法的标识符是(A )。 (A)_abc (B)new (C)π(D)"age" 8.在C++语句中,两个标识符之间(A )不能 ..作为C++的分隔符。 (A)数字(B); (C): (D)+ 9.下列正确的八进制整型常量表示是(B )。 (A)0a0 (B)015 (C)080 (D)0x10 10.下列错误的十六进制整型常量表示是(C )。 (A)0x11 (B)0xaf (C)0xg (D)0x1f 11.在下列选项中,全部都合法的浮点型数据的选项为(B )。 (A)-1e3.5 15. 2e-4 (B)12.34 -1e+5 0.1E-12 (C)0.2e-2 -12345. e-5 (D)5.0e(1+4)0.1 8e+2 12.在下列选项中,正确的字符常量为(D )。 (A)"a" (B)'name' (C)a (D)'\101' 13.在下列选项中,(D )不能 ..交换变量a和b的值。 (A)t=b; b=a; a=t; (B)a=a+b; b=a-b; a=a–b; (C)t=a; a=b; b=t; (D)a=b; b=a; 14.关于下列语句,叙述错误的是(A )。

Java程序设计基础习题(1-3章)

Java程序设计基础 一、选择题 1、下列标识符不合法的是() A) $variable B) _variable C) variable5 D) break 2、下列哪一个不属于Java的基本数据类型() A) int B) String C) double D) boolean 3、下列答案正确的是() A) int n = 7; int b = 2 * n++; 结果: b = 15, n = 8 B) int n = 7; int b = 2 * n++; 结果: b = 16, n = 8 C) int n = 7; int b = 2 * n++; 结果: b = 14, n = 8 D) int n = 7; int b = 2 * n++; 结果: b = 14, n = 7 4、Java中,下列答案正确的是() A) int n = 7; int b = 2; n/b=3.5; B) int n = 7; int b = 2; n/b=3.5L C) int n = 7; int b = 2; n/b=3.5D D) int n = 7; int b = 2; n/b=3; 6、表示范围大的数据类型要转换成范围小的数据类型,需要用到()类型 转换 A) 隐式B) 强制

7、System.out.print(“1”+2)打印到屏幕的结果是() A) 3 B) 12 C) 1+2 D) 4 8、下面哪个是不合法的变量名称?() A) while-ture B) True C) name D) T1 9、下列变量定义正确的是:() A) boolean status=1; B) float d = 45.6; C) char ch=”a”; D) int k = 1+’1’; 10、某个main()方法中有以下的声明: final int MIN=0; final int MAX=10; int num=5; 下列哪个语句可以用, 来表示”num的值大于等于MIN并且小于等于MAX” ( ) A) !(numMAX) B) num>=MIN && num<=MAX C) num>MIN || num<=MAX D) num>MIN || num

Java程序设计大作业实验报告

目录 一、前言 (2) 二、需求分析 (3) 三、系统总体设计 (3) 3.1系统总体设计系统思路 (3) 3.2数据库设计 (4) 3.2.1 login1表的设计和数据 (4) 3.2.2 student表的设计和数据 (5) 3.2.3 course表的设计和数据 (5) 3.2.4 score表的设计和数据 (5) 3.3系统功能模块设计 (6) 四、系统详细设计 (7) 4.1登录模块 (7) 4.2 学生模块 (7) 4.3 教师模块 (7) 4.4 管理员模块 (8) 五、系统测试及运行结果 (9) 5.1 主界面 (9) 5.2 学生管理中心界面 (9) 5.3 教师管理中心界面 (10) 5.4 管理员管理中心界面 (10)

5.5 查询课表界面 (11) 5.6 查询成绩界面 (11) 5.7 查询教学情况界面 (11) 5.8 查询所有学生成绩界面 (12) 5.9 学生信息管理界面 (12) 5.10 学生成绩管理界面 (13) 5.11 用户管理界面 (13) 六、实验总结 (14) 七、参考文献 (14) 一、前言 随着计算机在人们生活中的普及和网络时代的来临,对信息的要求日益增加,学生信息管理业务受到了较为强烈的冲击,传统的手工管理方式传统的手工管理方式已不能适应现在的信息化社会。如何利用现有的先进计算机技术来解决学生信息管理成为当下的一个重要问题,学生信息管理系统是典型的信息管理系统,其开发主要就是针对前台的页面展示以及后台数据的管理。对于前者,要求应用程序功

能完备,易于使用,界面简单;而对于后者,则要求数据库具有一致性、完整性,并能够依据前台的操作来对应操作后台数据库达到一定的安全性。 本学生信息管理系统主要采用的纯JAVA代码实现图形界面系统的开发,以及数据库知识进行数据的查询,删除,插入和更新。本系统主要分为三个部分:学生模块、教师模块、管理员模块。其中学生模块实现的功能:查询课表信息和查询成绩。教师模块实现的功能:查询课表信息、查询教学情况和查询所有学生的各科成绩。管理员模块实现的功能:课表信息的管理、学生信息管理、学生成绩管理和用户信息管理。 二、需求分析 用JAVA语言实现学生信息管理系统的图形界面的编程。主要实现以下几个重要功能: ①实现三种不同身份(学生、教师、管理员)登录学生信息管理系统。(其中的数据信息保存在数据库中)

《JAVA程序设计》(含答案)

《JA V A程序设计》练习题 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A. java B. .class C. html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A)。 A. 3 B. 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( C )。 A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A)。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 5、关于选择结构下列哪个说法正确?( B ) A.if语句和else语句必须成对出现 B.if语句可以没有else语句对应 C.switch结构中每个case语句中必须用break语句 D.switch结构中必须有default语句 6、while循环和do…while循环的区别是:( D) A.没有区别,这两个结构任何情况下效果一样 B.while循环比do…while循环执行效率高 C.while循环是先循环后判断,所以循环体至少被执行一次 D.do…while循环是先循环后判断,所以循环体至少被执行一次 7、关于for循环和while循环的说法哪个正确?( B) A.while循环先判断后执行,for循环先执行后判断。 B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换 D.两种循环结构中都必须有循环体,循环体不能为空

相关文档