当前位置:文档之家› java作业第4章

java作业第4章

信计142 2014309020202 谷维鑫

4-4 Java程序中使用的类分为哪两种?什么是系统定义的类?什么是用户自定义类?

答(1)Java程序中使用的类分为系统定义的类和用户定义类两种。

(2)系统定义的类是Java语言自带的、已经定义了的类,即Java类库中的类。

(3)用户自定义类是使用Java语言的开发人员根据所需要解决的特定问题的特定逻辑自行设计、定义的类。

4-6使用已经存在的类(包括类库中的系统类和已存在的用户类)有哪三种主要方式?如何在程序中引入已经存在的类?

答(1)1继承它在用户程序里创建它的子类

2创建它的对象

3直接使用已存在类的静态域或静态方法

(2)使用已经存在类之前应该确定该类对当前程序是可见的,如果这个类是由当前程序自身或当前程序所在的包中的某个程序定义的,那么这个类对当前程序是可见的。否则先用import语句为当前程序加载那个定义了需要使用类的包。

4-7 编写一个Java程序片段定义一个表示学生的类student,包括域“学号”、“班号”、“姓名”、“性别”、“年龄”;方法“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”、“修改年龄”。

答publicclass Student

{

private String studentId;

privateintclassId;

private String studentName;

private char studentSex;

private intstudentAge;

String getStudentId()

{ return studentId; }

intgetClassId()

{ return classId; }

char getStudentSex()

{ return studentSex; }

String getStudentName()

{ return studentName; }

intgetStudentAge()

{ return studentAge; }

booleansetStudentAge(intnewAge)

{

if( newAge>0 &&newAge<130)

{ studentAge = newAge;

return true;

}

else

{ System.out.println("非法学生年龄!");

return false;

}

}

}

4-8 在4-7题的基础上编写Java Application程序创建student类的对象。答public class Student

{ public static void main(String args[])

{ Student demoStudent = new Student(); }

private String studentId;

private intclassId;

private String studentName;

private char studentSex;

private intstudentAge;

String getStudentId()

{ return studentId; }

intgetClassId()

{ return classId; }

char getStudentSex ()

{ return studentSex; }

String getStudentName()

{ return studentName; }

intgetStudentAge()

{ return studentAge; }

booleansetStudentAge(intnewAge)

{ if( newAge>0 &&newAge<130)

{ studentAge = newAge;

return true;

}

else

{ System.out.println("非法学生年龄!");

return false;

}

}

}

4-9 为student类定义构造函数初始化所有的域,增加一个方法publicStringtoString()把student类对象的所有域信息组合成一个字符串。编写Application程序检验新增的功能。答public class Student

{ public static void main(String args[])

{ Student demoStudent = new Student("02",2,'f',"谷维鑫",18);

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

}

private String studentId;

private intclassId;

private String studentName;

private char studentSex;

private intstudentAge;

String getStudentId()

{ return studentId; }

intgetClassId()

{ return classId; }

char getStudentSex()

{ return studentSex; }

String getStudentName()

{ return studentName; }

intgetStudentAge()

{ return studentAge; }

booleansetStudentAge(intnewAge)

{ if( newAge>0 &&newAge<130)

{ studentAge = newAge;

return true;

}

else

{ System.out.println("非法学生年龄!");

return false;

}

}

Student(String id, intclsId, char sex, String name, int age)

{

studentId = id;

//studentId = new String(id);

classId = clsId;

studentName = new String(name);

studentAge = age;

studentSex = sex;

}

public String toString()

{

return "学生信息:\n" + "学号" + this.getStudentId()

+ "\t班号" + this.getClassId()

+ "\t姓名" + this.getStudentName()

+ "\t性别" + ((this.getStudentSex()) == 'm' ? "男" : "女")

+ "\t年龄" + this.getStudentAge();

}

}

运行结果:

4-10 简述构造函数的功能和特点。下面的程序片段是某同学为student类编写的构造函数,请问有几处错误?

void Student(intsno,Stringsname)

{

studentNo=sno;

studentName=sname;

returnsno;

}

答(1)构造方法是一个特殊的方法,主要用于初始化新创建的对象。构造方法的方法名要求与类名相同,用户不能直接调用,只能通过new运算符调用,而且构造方法是不返回任何数据类型,甚至也不返回void数据类型,即不能在构造方法前加void。

(2)错误1构造方法Student()前不能加void;

错误2不能用return语句。

4-11 改写例4-2成为图形界面的Applet程序,接收用户输入的卡号、密码、金额和接入号码,创建PhoneCard类的对象并输出这张电话卡的有关信息。

答phone.java文件如下:

import java.applet.*;

import java.awt.*;

import java.awt.event.*;

public class phone extends Applet implements ActionListener

{ Label numberPrompt;

Label passwordPrompt;

Label balancePrompt;

Label connectNumberPrompt;

TextFieldnumberTfd;

TextFieldpasswordTfd;

TextFieldbalanceTfd;

TextFieldconnectNumberTfd;

TextAreainfoSummary;

Button createPhoneCardBtn;

PhoneCardmyCard;

public void init()

{ numberPrompt = new Label("卡号");

passwordPrompt = new Label("密码");

balancePrompt = new Label("余额");

connectNumberPrompt = new Label("接入号码");

numberTfd = new TextField(10);

passwordTfd = new TextField(5);

passwordTfd.setEchoChar('*');

balanceTfd = new TextField(5);

connectNumberTfd = new TextField(5);

infoSummary = new TextArea(8,30);

createPhoneCardBtn = new Button("创建");

add(numberPrompt);

add(numberTfd);

add(passwordPrompt);

add(passwordTfd);

add(balancePrompt);

add(balanceTfd);

add(connectNumberPrompt);

add(connectNumberTfd);

add(createPhoneCardBtn);

add(infoSummary);

createPhoneCardBtn.addActionListener(this);

}

public void actionPerformed(ActionEvent e)

{ try

{ myCard = new PhoneCard(

Long.parseLong(numberTfd.getText()),

Integer.parseInt(passwordTfd.getText()),

Double.parseDouble(balanceTfd.getText()),

connectNumberTfd.getText());

infoSummary.setText(myCard.toString());

}

catch(NumberFormatExceptionnfe)

{ infoSummary.setText("输入数据格式错误,请重试。");

numberTfd.setText("");

passwordTfd.setText("");

balanceTfd.setText("");

connectNumberTfd.setText("");

}

}

}

class PhoneCard

{

long cardNumber;

private int password;

double balance;

String connectNumber;

boolean connected;

PhoneCard(long cn, int pw, double b,String s)

{ cardNumber = cn;

password = pw;

if ( b> 0 )

balance = b;

else

System.exit(1);

connectNumber = s;

connected = false;

}

booleanperformConnection(long cn,int pw)

{ if(cn == cardNumber&& pw == password )

{ connected = true;

return true;

}

else

{ connected = false;

return false;

}

}

double getBalance()

{ if(connected)return balance;

else return -1;

}

void performDial()

{ if(connected)

balance -= 0.5;

}

public String toString()

{ String s = "电话卡接入号码:"+connectNumber

+"\n电话卡卡号:"+cardNumber +"\n电话卡密码:"+password

+"\n剩余金额:"+balance;

if(connected)

return (s + "\n电话已接通。");

else

return (s + "\n电话未接通。");

}

}

运行结果:

4-12 什么是修饰符?它有什么作用?为什么要定义抽象类?如何定义?试举一个抽象类的例子。

答(1)修饰符是用于类对象使用的权限,从而实现类中成员的信息隐蔽。

(2)Java常见的访问修饰符有这4种:private、default、protected和public。

public 可以被所有的类访问

pravite 只能被类本身访问,其他类无法访问

protected 可以被类本身它的子类(包括同一个包中以及不同包中的子类)

default 属于默认的访问状态,可以被类本身和同一个包中的类访问(3)抽象类不具备实际功能,是专门设计用来让子类继承的类,把这些具有共同特征的方法抽象出来,由子类负责这些抽象方法的实现细节,而父类仅提供此方法的名称和声明、没有方法的主体,该类。

(4)使用abstract修饰符定义抽象类。

(5)例子定义一种集合了所有种类的电话卡的公共特点的抽象电话卡

abstract class PhoneCard

{ double balance;

void performDial()

{……}

}

4-14 如何定义静态域?静态域有什么特点?如何访问和修改静态域的数据?

答(1)用static修饰符修饰的域是仅属于类的静态域。

(2)静态域是类的域,不属于任何一个类的具体对象。是类中每个对象共享的域。

它不保存在某个对象的内存区间中,而是保存在类的内存区域的公共存储单元。

(3)访问或修改静态域需要使用它所属的类名,而不是以一个对象名为前缀。

4-21 什么是访问控制符?有哪些访问控制符?哪些可以用来修饰类?哪些可以用来修饰域和方法?试述不同访问控制符的作用。

答(1)访问控制符是一组限定类、域或方法是否可以被程序里的其他部分访问与调用的修饰符。

(2)访问控制符有公共访问控制符public、缺省访问控制符、私有访问控制符private、保护访问控制符protected、私有保护访问控制符privateprotected。

(3)Java中类的访问控制符只有一个:public。

(4)域和方法的访问控制符有四个,分别是public、private、protected、private protected (5)

1公有访问控制符public:当一个类被声明为public时,他就具有了被其他包中的类访问的可能性。类中被设定为public的方法是这个类对外的接口部分,避免了程序的其他部分直接去操作类内的数据,这实际就是数据封装思想的体现。

2缺省访问控制符:缺省访问控制权规定,该类只能被同一个包中的类访问和引用,而不可以被其他包中的类使用。

3私有访问控制符private :用private修饰得域或方法只能被该类自身所访问和修改,而且不能被任何其他类(包括该类的子类)来获取和引用。

4保护访问控制符protected :用protected修饰的成员变量可以被三种类所引用:

该类自身、与它在同一个包中的其它类、在其他包中的该类的子类。使用protected修饰符的主要作用是允许其他包中该类的子类来访问父类的特定属性。

5私有保护访问控制符private protected : 用private protected修饰的成员变量可以被两种类访问和引用,一种是该类本身,一种是该类的所有子类。把同一个包内的非子类排除在可访问的范围之外,使得成员变量更专于具有明确继承关系的类,而不是松散地组合在一起的包。

2014年4月份考试Java程序设计第一次作业及答案

2014年3月份考试Java程序设计第一次作业及答案 答案:一、单项选择题(50分,共 20 题,每小题 2.5 分) 1. D 2. C 3. B 4. A 5. D 6. A 7. D 8. B 9. B 10. A 11. A 12. A 13. D 14. A 15. C 16. C 17. C 18. D 19. B 20. A 二、判断题(50分,共 20 题,每小题 2.5 分) 1. √ 2. × 3. √ 4. × 5. √ 6. √ 7. √ 8. √ 9. √ 10. × 11.× 12. × 13. √ 14. × 15. × 16. √ 17. √ 18. × 19. √ 20. √ 一、单项选择题(本大题共50分,共 20 小题,每小题 2.5 分) 1. 在某类的子类中,下述方法中必须要实现的方法是() A. Public double methoda(); B. Static void methoda (double d1) {} C. Public native double methoda(); D. Abstract public void methoda(); 2. 给定File f=new File("aa.txt");可以实现向文件尾部读写的是() A. RandomAccessFile f1=new RandomAccessFile(f,"r"); B. RandomAccessFile f1=new RandomAccessFile(f,"a"); C. RandomAccessFile f1=new RandomAccessFile(f,"rw"); D. RandomAccessFile f1=new RandomAccessFile(f,"w"); 3. 以下由do-while语句构成的循环执行的次数是() int k = 0; do { ++k; }while ( k < 1 ); A. 一次也不执行 B. 执行1次 C. 无限次 D. 有语法错,不能执行 4. 给定类Demo定义如下 下列描述中正确的是() A. 新生成Demo对象时coumt的值为0 B. 新生成Demo对象时coumt的值未定义

广工java第一次作业

import java.io.IOException; import java.util.Scanner; /** *16. 写一个Person类,定义人的基本属性:name(姓名)、age(年龄)、gender(性别)、partner (配偶)。 要求至少为Person类写一个marry(Person p)方法,来判断两个人是否可以结婚。如果可以结婚,将其partner属性赋值为其配偶。 结婚必须满足以下3个条件。 必须是异性,同性暂时不允许结婚 有配偶者不能结婚,犯重婚罪。 要达到年龄方可结婚:男方23岁以上,女性21岁以上。 * @author Administrator * */ class MemberOfPerson{ public String name; public int age; public String gender; //性别 public String partner; } public class Person { /** * 判断两个人的性别是否相同 * @param s 对象person的性别 * @param s2 对象person2的性别 * @return 返回一个boolean值 */ private static boolean isSexDifferent(String s,String s2){ if((s.equals("男") && s2.equals("女"))||(s.equals("女") && s2.equals("男"))){ return true; } else if((s.equals("男") &&s2.equals("男"))||(s.equals("女") && s2.equals("女"))){ return false; } else{ System.out.println("你输入的性别数据有误"); return false; } } /**

北邮高级语言程序设计(基于Java)第三次阶段作业

北邮高级语言程序设计(基于Java)第三次阶段作业 一、单项选择题(共20道小题,共100.0分) 1.下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的?____ A.public B.private C.static D.final 知识点: 第三单元过关自测 学生答 案: [A;] 得分: [5] 试题分 值: 5.0 提示: 2. 3.以下哪个接口的定义是正确的_____ A.interface A {void print() { } ;} B.abstract interface A {void print() ;} C.abstract interface A extends I1, I2 // I1、I2为已定义的接 口 abstract void print(){ };} D.interface A {void print();} 知识点: 第三单元过关自测 学生答 案: [D;] 得分: [5] 试题分 值: 5.0 提示:

4. 5.下列说法正确的是____ A.子类只能覆盖父类的方法,而不能重载 B.子类只能重载父类的方法,而不能覆盖 C.子类不能定义和父类名同名同形参的方法,否则,系统将不知道使 用哪种方法 D.重载就是一个类中有多个同名但有不同形参和方法体的方法 知识点: 第三单元过关自测 学生答 案: [D;] 得分: [5] 试题分 值: 5.0 提示: 6. 7.在调用构造函数时,____ A.子类可以不加定义就使用父类的所有构造函数 B.不管类中是否定义了何种构造函数,创建对象时都可以使用默认构 造函数 C.先调用父类的构造函数 D.先调用形参多的构造函数 知识点: 第三单元过关自测 学生答 案: [A;] 得分: [5] 试题分 值: 5.0 提示: 8. 9.方法的作用不包含____ A.使程序结构清晰 B.功能复用 C.代码简洁 D.重复代码 知识点: 第三单元过关自测 学生答 案: [D;] 得分: [5] 试题分 5.0

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

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

java第一次作业题目2013版

1. 题目:从键盘上输入两个正整数m和n,求其最大公约数和最小公倍数,必须判断输入数的正确性(比如非正整数等必须提示)。[选题人数:3] 2. 题目:给出一个月的总天数 编写程序,提示用户输入月份和年份,然后显示这个月的天数。例如,如果用户输入的月份是2而年份是2000,那么程序应显示“2000年2月有29天”。如果用户输入的月份为3而年份为2005,那么程序就应该显示“2005年3月有31天”。(提示:必须判断是否是闰年)[选题人数:3] 3. 题目:计算一个三角形的周长 编写程序,提示用户从键盘输入三角形的三条边,如果输入值合法就计算这个三角形的周长,否则,显示这些输入值不合法(如果任意两条边的和大于第三条边,那么输入值都是合法的)。[选题人数:3] 4. 题目:奖金发放问题 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?[选题人数:3] 5. 题目:打印金字塔形的数字 编写一个嵌套的for循环,打印下面的输出。 1 2 1 1 2 4 2 1 1 2 4 8 4 2 1 1 2 4 8 16 8 4 2 1 1 2 4 8 16 32 16 8 4 2 1 1 2 4 8 16 32 64 32 16 8 4 2 1 1 2 4 8 16 32 64 128 64 32 16 8 4 2 1 [选题人数:2] 6. 题目:十进制转换成二进制或十六进制 编写程序,从键盘上输入一个十进制整数,然后显示对应的二进制值或十六进制值。在这个程序中不要使用Java的Integer.toBinaryString(Int)或Integer.toHexString(Int)这两个方法。[选题人数:4] (其中2个选十进制转二进制,2个选十进制到十六进制) 7. 题目:回文整数 编写一个程序,提示用户输入一个整数值,然后报告这个数是否是回文数(例如131,逆向结果也是131)。判断回文数的函数如下: //返回一个数是否是回文数 public static Boolean isPalindrome(int number) [选题人数:3] 8.题目:回文素数 回文素数是指一个数同时为素数和回文数。例如:131是一个素数,同时也是一个回文数。数字313和757也是如此。编写程序,显示前100个回文素数,每行显示10个数并且准确对齐,如下所示: 2 3 5 7 11 101 131 151 181 191 313 353 373 383 727 757 787 797 919 929 ……. …. …. ………………. [选题人数:3] 9. 题目:打印不同的数

2009年秋季Java程序设计第三次作业

2009年秋季Java程序设计第三次作业 一、单项选择题(20分,共 10 题,每小题 2 分) 1. 给定File f=new File("aa.txt");可以实现向文件尾部读写的是() A. RandomAccessFile f1=new RandomAccessFile(f,"r"); B. RandomAccessFile f1=new RandomAccessFile(f,"a"); C. RandomAccessFile f1=new RandomAccessFile(f,"rw"); D. RandomAccessFile f1=new RandomAccessFile(f,"w"); 2. 下列哪种方法在Applet生命周期中只执行一次() A. Init B. Start C. Stop D. run 3. 通过下列()I/O类可以实现对文件类File的添加,更新操作. A. RandomAccessFile B. Outputstream C. DataOutputstream D. InputStream 4. 如果要向文件file.txt中添加数据,应如何构建输出流() A. OutputStream out=new FileOutputStream(“file.txt”); B. OutputStream out=new FileOutputStream(“file.txt”, “append”); C. FileOutputStream out=new FileOutputStream(“file.txt”, true); D. FileOutputStream out=new FileOutputStream(new file(“file.txt”)); 5. 下列说法错误的是() A. Java Application命名必须与公共类名相同 B. Java Applet必须是类Applet的子类 C. Applet中也可以有main()方法 D. 一个Java Application文件中可以定义多个类 6. 下列哪个选项不能使当前线程停止执行() A. 一个异常被抛出 B. 线程执行了sleep()调用 C. 高优先级的线程处于可运行状态 D. 当前线程产生了一个新线程 7. 下面关于Applet的说法正确的是() A. Applet也需要main方法 B. Applet必须继承自java.awt.Applet C. Applet能访问本地文件 D. Applet程序不需要编译 8. 下列InputStream构造方法正确的是() A. InputStream in=new FileReader(“file.txt”); B. InputStream in=new FileInputStream(“file.txt”); C. InputStream in=new InputStreamFileReader (“file.txt”, “read”);[SEPA RATORD FileInputStream in=new FileReader(new File(“file.txt”));

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

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

java第一次作业

15、在构造函数中使用super引用时有什么限制?() 选择一项: a. 只能用在父类的构造函数中。 b. 只有一个子类可以用。 c. 必须出现在构造函数的第一条语句。 d. 必须出现在构造函数的最后一条语句。 3、 Java 中,能实现多重继承效果的方式是() 选择一项: a. 适配器 b. 同步 c. 接口 d. 内部类 4、在Java 中,所有类的公共基类是() 选择一项: a. https://www.doczj.com/doc/9816209357.html,ng.Class b. java.awt.Frame c. java.applet.Applet d. https://www.doczj.com/doc/9816209357.html,ng.Object 2、作为Java应用程序入口的main方法,其声明格式可以是()选择一项: a. public static void main(String [] args) b. public static void Main(String * args) c. public void main(String [] args) d. public int main(String [] args)

13、若特快订单是一种订单,则特快订单类和订单类的关系对应于面向对象编程(OOP)中的术语() 选择一项: a. 无关系 b. 使用关系 c. 继承关系 d. 包含关系 5、在Java中,用package 语句声明一个包时,该包的层次结构必须是()选择一项: a. 与文件大小相同 b. 与文件结构相同 c. 与文件类型相同 d. 与文件目录的层次相同 7、下列叙述中,错误的是() 选择一项: a. 接口与类的层次无关 b. 通过接口说明类所实现的方法 c. 接口与存储空间有关 d. 通过接口可以了解对象的交互界面 1、下列关于构造方法的叙述中,错误的是() 选择一项: a. Java 语言规定构造方法不可重载 b. Java 语言规定构造方法名与类名必须相同 c. Java 语言规定构造方法只能通过new自动调用 d. Java 语言规定构造方法没有返回值,但不可用void 声明

JAVA作业

JAVA作业: PP2.3 编写一个应用程序,读取两个浮点数,然后打印输出它们的和、差、乘积。 import javax.swing.*; import java.util.*; public class First { /** * 作业PP2.3 编写一个应用程序,读取两个浮点数,然后打印输出它们的和、差、乘积。 */ public static void main(String[] args) { float f1=0.0f, f2=0.0f; float sum=0.0f; float difference=0.0f; float product=0.0f; String tempstr=JOptionPane.showInputDialog("Input Please"); f1=Float.parseFloat(tempstr); tempstr=JOptionPane.showInputDialog("Input Please Again"); f2=Float.parseFloat(tempstr); sum=f1+f2; difference=f1-f2; product=f1*f2; JOptionPane.showMessageDialog(null,"The First Number is:"+f1+"\n"+"The Second Number is:"+f2+"\n"+"The Sum is:"+sum+"\n"+"The Difference is:"+difference+"\n"+"The product is:"+product,"Result",https://www.doczj.com/doc/9816209357.html,RMATION_MESSAGE); } } PP2.4 编写一个应用程序TempConverter1,读取用户输入的华氏温度,然后转换成摄氏温度。 import javax.swing.*; public class TempConverter1 { /**

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 第一次作业 一些小程序编写题目

第1 、2章 【程序1】 判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 【程序2】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如: 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 【程序3】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 【程序4】 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 1.程序分析:(a>b)?a:b这是条件运算符的基本例子。 【程序5】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 【程序6】 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 1.程序分析:利用while语句,条件为输入的字符不为'\n'. 【程序7】 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。 【程序8】 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? 【程序9】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。

Java第三次作业题目2015版

第1题:简易绘图程序 绘图应用程序。利用学过的GUI 方法实现一个较为完整的绘图应用程序。用户可以选择要画的图形(如线,椭圆,圆,矩形,弧,圆角矩形,多边形,折线等等),选择画笔颜色和画笔粗度,用鼠标单击和拖拽等动作绘图,并能将绘图结果保存为jpg和bmp格式。参考界面(可自己设计)如下:【最大选题人数:5】 第2题:计算器 设计一个计算器应用程序,用于进行简单的加减乘除四则运算。要求能对输入的算式判断运算符优先级,允许在表达式中出现常用的数学函数,如绝对值、取整、三角函数、倒数、平方根、平方、立方等。参考界面(可自己设计)如下:【最大选题人数:5】 第3题:设计一个万年历系统 设计一个万年历系统,实现以下功能:【最大选题人数:3】 (1)可以查看当前的年份、月份和日期;

(2)有时间栏,便于用户查看当前时间; (3)能够查找1至9999年的日期与星期的关系。 其它功能可自行开发。 第4题:一个简单的算法演示程序 选择一个算法(提供选择见下)、利用各种方法(图形、界面)演示算法的计算过程。总体要求: (1)可以进行手动演示,也可以自动步进式演示。 (2)允许用户设置算法的各个输入参数,以及自动步进式演示中的时间间隔。 (3).使用图形界面,要符合日常软件使用规范设置菜单和界面。 可参考算法: 1.最小生成树算法:Prim算法、Kruskal算法。允许一下方式输入一个图形:绘制图形、输入邻接矩阵、输入边及其关联的顶点。 2.单源最短路算法:Disjkstra算法。允许一下方式如数一个图形:绘制图形、输入邻接矩阵、输入边及其关联的顶点。 3.最优编码算法:Huffman编码算法。允许用户输入一段英文文字,或者打开一个txt 文档(英文内容),据此文档内容进行编码。要求动态列出每个字符的出现概率统计结果以及对应编码。 4.演示汉诺塔问题:设计并实现一个求解Hanoi 塔问题的图形版程序。允许用户设置解题所使用的圆盘数。用户应当能以两种主要的方式与程序交互。一是可以在程序确认合法的情况下用鼠标将圆盘从一个塔座移到另一个塔座。二是可以用暂停/继续按钮观看解题过程的动画,并且允许用户控制动画速度。 5.排序算法执行流程演示:在Applet画面中演示某排序算法的执行流程,演示支持手动和自动两种方式,手动方式是用鼠标点击显示各步进展;自动靠软件延时控制。 延时值通过Applet参数或在界面中通过文本框控件设置。 6.其他可供演示的具有一定难度的算法:如数据结构中二叉树的树形操作演示效果、关键路径问题、有向图的极大连通分支等。 【每个参考算法最大选题人数:2,这道题的最大选题人数:15】

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;

Java第一次作业答案

一、选择题 1.以下的选项中能正确表示Java语言中的一个整型常量的是()。 A) 12. B) -20 C) 1,000 D) 4 5 6 2.下列的变量定义中,错误的是()。 A) int 6_a; B) float a; C) int i=Integer.MAX_VALUE; D) static int i=100; 3.下列程序段执行后c的结果是()。 int a = 9, b = 11, c; c= a != b ? a+b : a-b; A) –2 B) 20 C) 11 D) 9 4.下列方法定义中,正确的是()。 A) int x( ){ char ch='a'; return (int)ch; } B) void x( ){ ...return true; } C) int x( ){ ...return true; } D) int x( int a, b){ return a+b; } 5. 为了定义三个整型数组a1、a2、a3,下面声明正确的语句是()。 A)intArray [ ] a1,a2; int a3[ ]={1,2,3,4,5}; B)int [ ] a1,a2; int a3[ ]={1,2,3,4,5}; C)int a1,a2[ ]; int a3={1,2,3,4,5}; D)int [ ] a1,a2; int a3=(1,2,3,4,5); 二、填空题 1. 定义数组,需要完成以下三个步骤,即:________、_______和________ 。 2 在Java语言中,所有的数组都有一个_________属性,这个属性存储了该数组的元素的个数(数组长度)。 3、对象的软件开发方法用___把数据和基于数据的操作封装在一起。 4、______是一个特殊的方法,用于对类的变量进行初始化。 5、stract关键字能修饰_____、_____。 三、简答题 1、java程序分为哪两类,两类的区别是什么? 2、怎样编译和执行java程序? 3、Java中数据类型有哪些,使用的关键字是什么? 4、变量和内存之间的关系是什么?写出访问内存数据的方法 5、什么是优先级和结合律? 四、程序题 1、下面是用户程序对 Applet 类中方法 paint( ) 的重新定义。 __________ void paint(Graphics g) { g.____________("你好!",10,20); } 2、下面方法的功能是判断一个整数是否为偶数,将程序补充完整。 public ________ isEven(int a) { if(a%2==0) return _____; else return false; } 3、阅读程序,回答问题。 import java.awt.*; import java.applet.Applet; import java.awt.event.*;

Java第三次作业 《文本编辑器》

《Java语言》课程期末作业 题目第6题:文本编辑器 学院计算机学院 专业网络工程 班别13级(3 )班 学号 姓名 2015年06月17日

一、课程题目 制作一个简单的文本编辑器,交互性要求:【最大选题人数:5】 (1) 可输入文字(仅要求英文及标点符号) (2) 实现一些常用的编辑功能:如复制和粘贴,查找和替换,首字母自动大写,拼写自动更正…… (3) 可打开并显示TXT文件,并且可以将编辑结果保存为TXT文件 二、题目分析与设计 1. 注明所使用的开发环境(Eclipse、NetBeans,JBuilder)。 开发环境:Eclipse

2. 论述题目的需求。给出软件功能架构图。 本题目要求实现类似于一个记事本的文本编辑器功能。要能够输入文字,能够实现一些常用的编辑功能,可打开并显示TXT文件,并且可以将编辑结果保存为TXT文件。本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面: ① 菜单栏中有“文件”,“编辑”,“字体”三个主菜单。 ②“文件”菜单有“新建”,“打开”,“保存”三个菜单项:分别用于新 建文件,打开文件,保存文件。 ③“编辑”菜单中有“复制”“剪切”“粘贴”“查找”“替换”五个菜单项:用于实现复制所选文字,剪切所选文字,粘贴文字,查找,替换等功能。 ④“字体”中有“格式”一个菜单项:用来控制文本框中文本的字体类型功能; 软件功能架构图:

3. 论述界面设计过程,指出其设计上的创意及组件的布局策略。 这个框架主要运用盒子布局对象和grid布局对象操作。对于文本编辑器的菜单组件如下。 “文件”菜单里: “编辑”菜单里“字体”菜单里 4. 论述程序逻辑的实现,包括类的设计、对象的协作过程等,必要时加以各种图形和表格辅助论述。不得以粘贴代码的方式代替设计部分。 首先,自定义一个editor类,该类继承了JFrame类和ActionListener、ItemListener 接口。在主类的主方法中,用editor创建一个对象bianji。 在editor的构造方法中设计好第一个界面的布局和组件。设计一个菜单条组件,

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

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

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

《Java程序设计》课后习题参考答案

习题1参考答案 1.Java语言的特点有哪些? 答:参考1.1.2 防止直接访问数据变量看起来有些奇怪,但它实际上却对使用类的程序质量有极大的好处。既然数据的单个项是不可访问的,那么惟一的办法就是通过方法来读或写。因此,如果要求类成员内部的一致性,就应该通过类本身的方法来处理。 这种数据隐藏技术就是面向对象的重要特性——封装。它将类的外部界面与类功能的实现区分开来,隐藏实现细节,(通过公共方法)保留有限的对外接口,迫使用户使用外部界面,通过访问接口实现对数据的操作。即使实现细节发生了改变,还可通过界面承担其功能而保留原样,确保调用它的代码还继续工作,这使代码维护更简单。 2.简述封装的优点。 答:封装是一个简单而有效的思想,优点有:(1)模块化,对内成为一个结构完整、可进行自我管理、自我平衡、高度集中的整体。(2)信息隐蔽,对外则是一个功能明确、接口单一、可在各种适合的环境下都能独立工作的有机单元。 面向对象的程序设计实现了对象的封装,使得用户不必关心诸如对象的行为是如何实现的这样一些细节。通过对对象的封装,实现了模块化和信息隐藏,有利于程序的可移植性和安全性,同时也有利于对复杂对象的管理。类的封装性使得代码的可重用性大为提高,这样的有机单元特别适合构建大型标准化的软件系统,具有很高的开发效率。 3.Java的基本工具有哪些? (1)javac 编译器 (2)java 解释器 (3)jdb Java 语言调试器 (4)javadoc API文档管理器 (5)javah 头文件生成器 (6)appletviewer 小应用程序浏览器 (7)javap 类文件反汇编器 4.Java开发环境是如何配置的? 答:对于Windows 2000以上版本的操作系统,可以打开[控制面板]窗口,双击其中的[系统]图标,在[系统特性]窗口中单击[高级]选项卡,进而单击[环境变量]按钮。在出现的[环境变量]窗口中,在[系统变量]框中选择[Path]项,单击[编辑]按钮,在弹出的[编辑系统变量]窗口的[变量值]框后加上上面两条语句。 习题2参考答案 1.Java语言包含哪些数据类型? 答:包含基本数据类型和复合数据类型。基本类型包括整数类型、浮点数类型、布尔类型。复合类型包括类类型(Class Type)、接口类型(Interface Type)与数组类型(Array Type)。 2.Java有多少关键字? 答:abstract, continue, for, new, switch,boolean, default, goto*, null, synchronized,break, do, if, package, this,byte, double, implements, private, threadsafe,byvalve*, else, import, protected, throw,case, extends, instanceof, public, transient,catch, false, int, return, true,char, final,

广工《Java语言程序设计基础教程》上机实验指导手册(第一次)

《Java语言程序设计基础教程》 上机实验指导手册 实验一 Java环境演练 【目的】 ①安装并配置Java运行开发环境; ②掌握开发Java应用程序的3个步骤:编写源文件、编译源文件和运行应用程序; ③掌握开发Java Applet程序的3个步骤:编写源文件、编译源文件和运行Java Applet 程序; ④学习同时编译多个Java源文件。 【内容】 1.一个简单的应用程序 ?实验要求: 编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。 ?程序运行效果示例: 程序运行效果如下图所示: ?程序模板: Hello.java public class Hello { public static void main (String args[ ]) { 【代码1】//命令行窗口输出"你好,很高兴学习Java" A a=new A(); a.fA(); } } class A { void fA() { 【代码2】//命令行窗口输出"We are students" } } ?实验后的练习: 1.编译器怎样提示丢失大括号的错误? 2.编译器怎样提示语句丢失分号的错误? 3.编译器怎样提示将System写成system这一错误?

4.编译器怎样提示将String写成string这一错误? 2.一个简单的Java Applet程序 ?实验要求: 编写一个简单的Java Applet程序,并在Java Applet中写两行文字:“这是一个Java Applet程序”和“我改变了字体”。 ?程序运行效果示例: 程序运行效果如下图所示: ?程序模板: FirstApplet.java import java.applet.*; import java.awt.*; public class FirstApplet extends Applet { public void paint(Graphics g) { g.setColor(Color.blue); 【代码1】//在Java Applet中绘制一行文字:“这是一个Java Applet 程序” g.setColor(Color.red); g.setFont(new Font("宋体",Font.BOLD,36)); 【代码2】//在Java Applet中绘制一行文字:“我改变了字体” } } ?实验后的练习: 5.程序中的主类如果不用public修饰,编译能通过吗? 6.程序中的主类如果不用public修饰,程序能正确运行吗? 7.程序将paint方法误写成Paint,编译能通过么? 8.程序将paint方法误写成Paint,运行时能看到有关的输出信息吗? 3.联合编译 ?实验要求: 编写4个源文件:Hello.java、A.java、B.java和C.java,每个源文件只有一个类,Hello.java是一个应用程序(含有main方法),使用了A、B和C类。将4个源文件保存到同一目录中,例如:C:\100,然后编译Hello.java。 ?程序运行效果示例: 程序运行效果如下图所示: ?程序模板: 模板1:Hello.java public class MainClass { public static void main (String args[ ]) {

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