Java大学实用教程(第2版)书中 例子 程序源代码
Java大学实用教程(第2版)[耿祥义等编著][电子教案]第2章
2.2
基本数据类型
1.逻辑类型 常量:true ,false。 变量的定义: 使用关键字boolean来定义逻辑变量,定义时也可 以赋给初值。 2.整数类型 常量:123,6000(十进制),077(八进制), 0x3ABC(十六进制)。 整型变量的定义分为4种
2.2
基本数据类型
(1)int 型 使用关键字int来定义int 型整型变量,定义时也 可以赋给初值,例如:int x,平均=9898;对于int型 变量,内存分配给4个字节(byte)。int型变量的取值 范围是: -231~231-1。 (2)byte 型 使用关键字byte 来定义byte 型整型变量。对于 byte型变量,内存分配给1个字节,占8位,byte型变量 的取值范围是-27~27-1。
2.5 数组
4.数组的初始化
创建数组后,系统会给每个数组元素一个默认的值,如,float型是0.0。 我们在声明数组时同时也还可以给数组的元素一个初始值,如: float boy[]={ 21.3f,23.89f,2.0f,23f,778.98f}; 数组属于引用型变量,因此两个相同类型的数组如果具有相同的引用,它们就有完全相 同的元素。例如,对于 int [] a={1,2,3},b={4,5}; 数组变量a和b分别存放着不同的引用。但是,如果使用了赋值语句:a=b;那么,a中存 放的引用就和b的相同,这时系统将释放最初分配给数组a的元素,使得a的元素和b的元 素相同,即a[0],a[1]就是b[0],b[1],而最初分配给数组a的三个元素已不复存在 .
返回
2.5 数组
数组是相同类型的数据按顺序组成的一种复合数据类 型。通过数组名加数组下标来使用数组中的数据。下标从 0开始。 1.声明数组 声明数组包括数组的名字、数组包含的元素的数据类 型。 声明一维数组有下列两种格式: 数组元素类型 数组名字[ ]; 数组元素类型[ ] 数组名字;
Java程序设计实用教程(第2版)第3章_运算符、表达式和语句
if-else if-else 语句是多条件分支语句,即根据多个条 件来控制程序执行的流程。 if-else if-else语句的语法格式:
if(表达式) { 若干语句 } else if(表达式) { 若干语句 } …… else { 若干语句 }
2017/8/16
18
例3-1
Number.java , Example3_1.java
2017/8/16
5
§3.1.3 算术混合运算的精度
精度从“低”到“高”排列的顺序是: byte short char int l ong float double Java在计算算术表达式的值时,使用下列计算精度规则: 1 .如果表达式中有双精度浮点数( double 型数据),则 按双精度进行运算。 2 .如果表达式中最高精度是单精度浮点数( float 型数 据),则按单精度进行运算。 3.如果表达式中最高精度是long型整数,则按long精度进 行运算。 4.如果表达式中最高精度低于 int型整数,则按int精度进 行运算。
if(表达式) { 若干语句 } else { 若干语句 }
有语法错误的if-else语句 :× 正确的写法是:√
if(x>0) y=10; z=20; else y=-1020; } else y=100;
17
§3.3.3 if-else if-else 语句
2017/8/16 21
§3.5 循环语句 §3.5.1 for循环语句 for语句的语法格式:
for (表达式1; 表达式2; 表达式3) { 若干语句 }
for语句的执行规则是:
( 1 )计算“表达式 1 ”,完成必要的初始化 工作。 (2)判断“表达式2”的值,若“表达式2” 的值为true,则进行(3),否则进行(4)。 ( 3 )执行循环体,然后计算“表达式 3 ”, 以便改变循环条件,进行(2)。 (4)结束for语句的执行。
java大学实用教程 第二版 实验指导书
实验1 Java运行环境及简单应用程序开发一、实验目的(1)可以安装并配置Java运行环境。
(2)掌握Java中path和classpath的属性作用。
(3)可以编写一个简单的Java应用程序。
(4)掌握Java应用程序的开发流程。
二、实验内容及步骤1.安装并配置运行环境(1)任务安装JA V A SE,检查和设置环境变量path。
(2)步骤第一步:安装JA V A SE,安装后在安装目录下应有jdk和jre文件夹。
第二步:设置环境变量path,步骤参见教材P7。
第三步:检查环境变量path,可在命令提示符下使用命令javac –version 检查path是否配置好及jdk的版本。
第四步:如运行或编译程序时出错,可配置classpath,步骤参见教材P7。
(3)问题:程序中的主类如果不用public修饰,编译能通过吗?程序中的主类如果不用public修饰,能正确运行吗?编译器怎样提示丢失大括号的错误?编译器怎样提示语句丢失分号的错误?编译器怎样提示将System写成system这一错误?编译器怎样提示将String写成string这一错误?(4)实验报告将上述思考题写在实验报告上。
2. 编写简单的Java应用程序(1)任务任务一:在屏幕上输出“我喜欢学习java”。
任务二:在屏幕上输出出以下信息:******************************** java程序设计*******************************(2)步骤第一步:使用记事本或EDIT编写源程序,源程序内容参见教材P9例1-1。
第二步:保存并为源程序命名。
保存时若使用记事本,保存类型请选择“所有类型”,命名规则参见教材P9,保存类型为.java。
第三步:打开命令提示符,进入源程序保存的文件夹下,使用编译器对其进行编译:如javac Hello.java。
第四步:如编译时无任何提示,说明源程序无错误,可对生成的class文件进行解释并执行,如java Hello,此步省略.class。
Java大学实用教程(第2版)问答题答案1_3章
第一章问答题1.答:开发Java语言的动力源于对独立平台的需要,即用这种语言编写的程序不会因为芯片的变化而发生无法运行或出现运行错误的情况;致力于开发一种可移植的、跨平台的语言,该语言能生成正确运行于各种操作系统、各种CPU芯片上的代码主要贡献者是James Gosling。
2.答:不正确。
Java提供的编译器把源程序编译成称为“字节码”的一个中间代码。
字节码是很接近机器码的二进制文件,不能被机器直接识别。
3.答:Java应用程序的主类必须含有public static void main(String args[])方法,作为应用程序运行的入口和起始点。
4.答:不正确。
可以没有public类。
Java程序的源文件中如果有多个类,那么只能有一个类是public类。
如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名为.java。
如果源文件没有public类,那么源文件的名字只要与某个类的名字相同,并且拓展名为.java就可以了。
5.答:正确。
Java Applet源文件的主类必须是public的。
按照源文件的命名规定,Java Applet源文件的名字一定与主类的名字相同。
6.答:如果源文件中有多个类,那么只能有一个类是public类;如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,拓展名为.java;如果源文件没有public类,那么源文件的名字只要与某个类的名字相同,并且拓展名为.java就可以了。
7.答:源文件生成的字节码在运行时只将程序需要的字节码加载到内存中。
8.答:开发一个Java Applet程序需经过三个步骤:编写源文件、编译源文件生成字节码、通过浏览器加载运行字节码。
1)编写源文件。
一个Java Applet源文件也是由若干个类组成的,一个Java Applet源文件不再需要main方法,但必须有且只有一个类扩展了Applet类,即它是Applet类的子类(Applet类是系统提供的类),我们把这个类称作Java Applet源文件的主类。
JAVA大学实用教程(第二版)11
11.1
URL类
该URL对象使用的协议是HTTP,即用 户按照这种协议与指定的服务器通 信,该URL对象包含的地址是 “”,所包含的资源 是默认的资源(主页)。
11.1
URL类
public URL(String protocol,String host,String file) throws MalformedURLException——构造的 URL对象、协议、地址和资源分别由 参数protocol、host和file指定。
11.3 显示URL资源中的 HTML文件 public JEditorPane(URL initialPage) throws IOException public JEditorPane(String url) throws IOException 可以构造JEditorPane对象。后两个方 法使用参数initialPage或url指定 该对象最初显示的URL中的资源。
例11-1 读取URL资源
InputStream in=url.openStream(); while((n=in.read(b))!=-1){ String s=new String(b,0,n); area.append(s); } } catch(MalformedURLException e1){ text.setText(""+e1); return; } catch(IOException e1){ text.setText(""+e1); return; } } }
11.3 显示URL资源中的 HTML文件 JEditorPane对象调用方法: public void setpage(URL page) thows IOException方法可以显示新的URL中 的资源。 在例11-2中,用JEditorPane对象 显示网页。
JavaWeb编程技术(第2版)源代码.
private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request,
<li><a href="goods.do?catalog=mobilephone">手机数码</a></li> <li><a href="goods.do?catalog=electrical">家用电器</a></li> <li><a href="goods.do?catalog=automobile">汽车用品</a></li> <li><a href="goods.do?catalog=clothes">服饰鞋帽</a></li> <li><a href="goods.do?catalog=health">运动健康</a></li> </ul> </div> <div id="content"> <table> <tr><td><img src="images/phone.jpg"><td><p> 三星 S5830 领取手机节优惠券,立减 100 元!再送:200 元移动手机卡! 派派价:2068 元</p></td> <td><img src="images/comp.jpg"></td><td><p>
java2实用教程实验代码及答案
上机实践1 初识JA V A (3)实验1一个简单的应用程序 (3)实验2一个简单的J A V A A PPLET程序 (3)实验3联合编译 (4)上机实践2 基本数据类型与控制语句 (5)实验1输出希腊字母表 (5)实验2回文数 (6)实验3猜数字游戏 (8)上机实践3 类与对象 (9)实验1三角形、梯形和圆形的类封装 (9)实验2实例成员与类成员 (12)实验3使用PACKAGE语句与IMPORT语句 (14)上机实践4 继承与接口 (16)实验1继承 (16)实验2上转型对象 (19)实验3接口回调 (21)上机实践5 字符串、时间与数字 (23)实验1S TRING类的常用方法 (23)实验2比较日期的大小 (24)实验3处理大整数 (25)上机实践6 组件及事件处理 (26)实验1算术测试 (26)实验2信号灯 (29)实验3布局与日历 (31)上机实践7 组件及事件处理2 (35)实验1方程求根 (35)实验2字体对话框 (38)实验3英语单词拼写训练 (41)上机实践8 多线程 (45)实验1汉字打字练习 (45)实验2旋转的行星 (47)实验3双线程接力 (51)上机实践9 输入输出流 (54)实验1学读汉字 (54)实验2统计英文单词字 (57)实验2读取Z IP文件 (61)上机实践10 JAV A 中的网络编程 (62)实验1读取服务器端文件 (62)实验2使用套接字读取服务器端对象 (64)实验3基于UDP的图像传输 (67)上机实践11 数据结构 (71)实验1扫雷小游戏 (71)实验2排序与查找 (76)实验3使用T REE S ET排序 (77)上机实践12 JAV A SWING (79)实验1JL AYERED P ANE分层窗格 (79)实验2使用表格显示日历 (80)实验3多文档界面(MDI) (83)上机实践1 初识Java实验1 一个简单的应用程序1.答案:【代码1】:System.out.println("你好,很高兴学习Java") ;【代码2】:System.out.println("We are students") ;2.模板代码Hello.javapublic class Hello{public static void main (String args[ ]){【代码1】//命令行窗口输出"你好,很高兴学习Java"A a=new A();a.fA();}}class A{void fA(){【代码2】//命令行窗口输出"We are students"}}实验2 一个简单的Java Applet程序1.答案:【代码1】:g.drawString("这是一个Java Applet 程序",10,30);【代码2】:g.drawString("我改变了字体",20,50);2.模板代码FirstApplet.javaimport 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中绘制一行文字:“我改变了字体”}}实验3 联合编译1.答案:【代码1】:System.out.println("你好,只需编译我");【代码2】:System.out.println("I am A");【代码3】:System.out.println("I am B");【代码4】:System.out.println("I am C");2.模板代码模板1:Hello.javapublic class MainClass{public static void main (String args[ ]){【代码1】 //命令行窗口输出"你好,只需编译我"A a=new A();a.fA();B b=new B();b.fB();}}模板2 :A.javapublic class A{void fA(){【代码2】 //命令行窗口输出"I am A"}}模板3 :B.javapublic class B{void fB(){【代码3】 //命令行窗口输出"I am B"}}模板4 :C.javapublic class C{void fC(){【代码4】 //命令行窗口输出"I am C"}}上机实践2 基本数据类型与控制语句实验1 输出希腊字母表1.答案:【代码1】:startPosition=(int)cStart;【代码2】:endPosition=(int)cEnd ;【代码3】:c=(char)i;2.模板代码GreekAlphabet.javapublic class GreekAlphabet{public static void main (String args[ ]){int startPosition=0,endPosition=0;char cStart='α',cEnd='ω';【代码1】//cStart做int型转换据运算,并将结果赋值给startPosition【代码2】//cEnd做int型转换运算,并将结果赋值给endPositionSystem.out.println("希腊字母\'α\'在unicode表中的顺序位置:"+(int)c);System.out.println("希腊字母表:");for(int i=startPosition;i<=endPosition;i++){char c='\0';【代码3】//i做char型转换运算,并将结果赋值给cSystem.out.print(" "+c);if((i-startPosition+1)%10==0)System.out.println("");}}}实验2 回文数1.答案:【代码1】:number<=99999&&number>=1【代码2】:d5=number/10000;【代码3】:d4=number%10000/1000;【代码4】:d3=number%1000/100;【代码5】:d5!=0【代码6】:d1==d5&&d2==d4【代码7】:d4!=0【代码8】:d1==d4&&d2==d3【代码9】:d3!=0【代码10】:d1==d32.模板代码Number.javaimport javax.swing.JOptionPane;public class Number{public static void main(String args[]){int number=0,d5,d4,d3,d2,d1;String str=JOptionPane.showInputDialog("输入一个1至99999之间的数");number=Integer.parseInt(str);if(【代码1】) //判断number在1至99999之间的条件{【代码2】//计算number的最高位(万位)d5【代码3】//计算number的千位d4【代码4】//计算number的百位d3d2=number%100/10;d1=number%10;if(【代码5】) //判断number是5位数的条件{System.out.println(number+"是5位数");if(【代码6】) //判断number是回文数的条件{System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(【代码7】) //判断number是4位数的条件{System.out.println(number+"是4位数");if(【代码8】) //判断number是回文数的条件码{System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(【代码9】) //判断number是3位数的条件{System.out.println(number+"是3位数");if(【代码10】) //判断number是回文数的条件{System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(d2!=0){System.out.println(number+"是2位数");if(d1==d2){System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(d1!=0){System.out.println(number+"是1位数");System.out.println(number+"是回文数");}}else{System.out.printf("\n%d不在1至99999之间",number);}}}实验3 猜数字游戏1.答案:【代码1】:yourGuess!=realNumber【代码2】:yourGuess>realNumber【代码3】:yourGuess<realNumber2.模板代码GuessNumber.javaimport javax.swing.JOptionPane;public class GuessNumber{public static void main (String args[ ]){System.out.println("给你一个1至100之间的整数,请猜测这个数");int realNumber=(int)(Math.random()*100)+1;int yourGuess=0;String str=JOptionPane.showInputDialog("输入您的猜测:");yourGuess=Integer.parseInt(str);while(【代码1】) //循环条件{if(【代码2】) //条件代码{str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:");yourGuess=Integer.parseInt(str);}else if(【代码3】) //条件代码{str=JOptionPane.showInputDialog("猜小了,再输入你的猜测:");yourGuess=Integer.parseInt(str);}}System.out.println("猜对了!");}}上机实践3 类与对象实验1 三角形、梯形和圆形的类封装1.答案:【代码1】:sideA=a;sideB=b;sideC=c;【代码2】:a+b>c&&a+c>b&&c+b>a【代码3】:boo=true;【代码4】:boo=false;【代码5】:if(boo){length=sideA+sideB+sideC;return length;}else{System.out.println("不是一个三角形,不能计算周长");return 0;}【代码6】:sideA=a;sideB=b;sideC=c;【代码7】:a+b>c&&a+c>b&&c+b>a【代码8】:boo=true;【代码9】:boo=false;【代码10】:above=a;bottom=b;height=h;【代码11】:area=(above+bottom)/2*height;return area;【代码12】:radius=r;【代码13】:return 3.14*radius*radius;【代码14】:return 3.14*2*radius;【代码15】:circle=new Circle(10);【代码16】:trangle=new Trangle(3,4,5);【代码17】:lader=new Lader(3,4,10);【代码18】:length=circle.getLength();【代码19】:area=circle.getArea();【代码20】:length=trangle.getLength();【代码21】:area=trangle.getArea();【代码22】:area=lader.getArea();【代码23】:trangle.setABC(12,34,1);【代码24】:area=trangle.getArea();【代码25】:length=trangle.getLength();2.模板代码AreaAndLength.javaclass Trangle{double sideA,sideB,sideC,area,length;boolean boo;public Trangle(double a,double b,double c){【代码1】//参数a,b,c分别赋值给sideA,sideB,sideCif(【代码2】) //a,b,c构成三角形的条件表达式{【代码3】//给boo赋值。
Java大学实用教程学习指导(第2版)
Russian.java
public class Russian {
public static void main (String args[ ]) {
int startPosition=0,endPosition=0;
char cStart='а',cEnd='я';
【代码1】// cStart做int类型转换运算,并将结果赋值给startPosition
int c=f(Math.abs(a),Math.abs(b)); //计算最大公约数绽萬璉轆娛閬蛏鬮绾瀧。
numerator=a/c;
denominator=b/c;
if(numerator<0&&denominator<0){
-numerator;
denominator=-denominator;
int number=0,d5,d4,d3,d2,d1;
Scanner reader=new Scanner(System.in);
System.out.println("从键盘输入一个1至99999之间的数");
while(reader.hasNextInt()){
number=reader.nextInt();
System.out.printf("\n%d是2位数", number);
if(d1==d2)
System.out.printf("\t%d是回文数", number);
else
System.out.printf("\t%d不是回文数", number);
}
else if(d1!=0){
Java程序设计实用教程(第2版)第8章_内部类与异常类
匿名类的常用的方式是向方法的参数传值。
void f(A a){ 2017/8/16 }
4
例8-2
InputAlphabet.java , InputEnglish.java ShowBoard.java, Example8_2.java
2017/8/16
2017/8/16
10
例子5
DangerException.java
CargoBoat.java
Example8_5.java 通过例子5熟悉带finally子语句的try~catch语句。例子5 中模拟向货船上装载集装箱,如果货船超重,那么货 船认为这是一个异常,将拒绝装载集装箱,但无论是 否发生异常,货船都需要正点启航。运行效果如图8.5。
try {
包含可能发生异常的语句
} catch(ExceptionSubClass1 … … } catch(ExceptionSubClass2 … … }
e) {
e) {
2017/8/16
9
例8-4
Example8_4.java
例8-4给出了try~catch语句的用法, 程序运行效果如图8.4所示。
public String getMessage(); public void printStackTrace(); public String toString();
2017/8/16
8
§8.3.1 try~catch语句 Java 使用 try~catch 语句来处理异常,将可能出现 的异常操作放在 try~catch语句的 try 部分,将发生异常 后的处理放在catch部分。 try~catch语句的格式如下:
Java大学实用教程(第2版)书中 例子 程序源代码
Hello.javaclass A{void f(){System.out.println("I am A");}}class B{}public class Hello{public static void main (String args[ ]) {System.out.println("你好,很高兴学习Java");A a=new A();a.f();}}Tom.javapublic class Tom{int leg;String head;void cry(String s){System.out.println(s);}}class Example{public static void main(String args[]){ Tom cat;cat=new Tom();cat.leg=4;cat.head="猫头";System.out.println("腿:"+cat.leg+"条"); System.out.println("头:"+cat.head);cat.cry("我今天要和Jerry拼了");}}Ch10importjavax.swing.*;importjava.awt.event.InputEvent;importjava.awt.event.KeyEvent;public class Example10_1{public static void main(String args[]){FirstWindow win=new FirstWindow("一个简单的窗口");}}classFirstWindow extends JFrame{JMenuBarmenubar;JMenu menu;JMenuItem item1,item2;FirstWindow(String s){setTitle(s);setSize(160,170);setLocation(120,120);setVisible(true);menubar=new JMenuBar();menu=new JMenu("文件");item1=new JMenuItem("打开",new ImageIcon("open.gif"));item2=new JMenuItem("保存",new ImageIcon("save.gif"));item1.setAccelerator(KeyStroke.getKeyStroke('O'));item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_M ASK));menu.add(item1);menu.addSeparator();menu.add(item2);menubar.add(menu);setJMenuBar(menubar);validate();setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);}}Java大学实用教程(第2版)[程序源代码].zip完全版:。
大二java课程设计题目和代码
大二java课程设计题目和代码简单投票管理系统、小学生数学练习题目自动生成系统、华容道-一个传统的智利游戏、用图形界面实现P208页,过桥问题、编写一个记事本程序、电子英汉词典、加密与解密、标准化考试系统、排球比赛计分系统、Hannoi塔、学籍管理系统、制作一个图形编辑系统、图书信息管理系统、ATM柜员机模拟系统、学生成绩管理信息系统、聊天**、记忆测试系统、超市收银系统、算法演示程序、网络聊天程序。
1、华容道-一个传统的智利游戏编写一个按钮的子类,使用该子类创建的对象代表华容道中的人物。
通过焦点事件控制人物颜色,当人物获得焦点时颜色为蓝色,当失去焦点时颜色为灰色。
通过键盘事件和鼠标事件来实现曹操、关羽等人物的移动。
当人物上发生鼠标事件或键盘事件时,如果鼠标指针的位置是在人物的下方(也就是组件的下半部分)或按下键盘的“↓“键,该人物向下移动。
向左、向右和向上的移动原理类似。
学习要点本程序主要练习使用布局管理器设计一个华容道游戏界面,并练习使用事件监听器(鼠标事件、键盘事件和焦点事件)实现按钮的移动。
设计思路首先是界面设计,该界面主要包括十个人物按钮(马、曹操、关羽等)以及旁边的四个边框按钮和重新开始按钮。
对于人物按钮,我们可以创建Button按钮的子类,在该类中定义按钮的一些新的属性和焦点事件监听器,如:按钮的标签名、按钮的颜色、按钮的排号(如这里有十个人物按钮,从1排到十,在程序中可以依靠这个属性区分人物按钮)、按钮颜色、按钮获得或失去焦点事件。
同时在设计该界面时要考虑到各个按钮的位置、大小等情况。
在这给出了各按钮的位置和大小参数:(其中Person为继承Button按钮的人物按钮类)String name[]={"曹操","关羽","张","刘","马","许","兵","兵","兵","兵"}; for(int i=0;i<name.length;i++) {undefined person[i]=new Person(i,name[i]); person[i].addKeyListener(this);person[i].addMouseListener(this); // person[i].addFocusListener(new Person) add(person[i]); } person.setBounds(104,54,100,100);person.setBounds(104,154,100,50); person.setBounds(54,154,50,100);person.setBounds(204,154,50,100); person.setBounds(54,54,50,100);person.setBounds(204,54,50,100); person.setBounds(54,254,50,50);person.setBounds(204,254,50,50); person.setBounds(104,204,50,50);person.setBounds(154,204,50,50); 四个边框按钮的位置和大小参数为:left.setBounds(49,49,5,260); right.setBounds(254,49,5,260);above.setBounds(49,49,210,5); below.setBounds(49,304,210,5); 其次我们是对界面上的各人物按钮添加相应的相应事件(鼠标事件、键盘事件),通过这两种事件去完成界面上各人物按钮的移动。
Java程序设计实用教程(第2版)-ans
习题11.James Gosling2.需3个步骤:1)用文本编辑器编写源文件。
2)使用javac编译源文件,得到字节码文件。
3)使用解释器运行程序。
3.set path=D:\jdk\bin;set classpath=D:\jdk\jre\lib\rt.jar;.;4.B) javac.exe5.java和class6.D) public static void main (String args[ ])习题21.B) int_long, D) $Boy262.【代码1】, 【代码3】是错误的3.float常量必须用F或f为后缀。
double常量用D或d为后缀,但允许省略后缀。
4.public class E {public static void main(String args[]) {System.out.println((int)'思');System.out.println((int)'故');System.out.println((int)'乡');}}习题 31.110if-else语句书写的不够规范?2. 不正正歪!!3.public class Xiti3 {void giveMess(int number) {if(number==9||number==131||number==12) {System.out.println(number+"是三等奖");}else if(number==209||number==596||number==27) {System.out.println(number+"是二等奖");}else if(number==875||number==316||number==59) {System.out.println(number+"是一等奖");}else{System.out.println("未中奖");}}}4.public class Xiti4 {public static void main (String args[ ]) {char cStart='а',cEnd='я';for(char c=cStart;c<=cEnd;c++)System.out.printf("%2c",c);System.out.println();for(char c=cStart;c<=cEnd;c++)System.out.printf("%2c",(c+32));}}5.public class Xiti5 {public static void main(String args[]) {double sum = 0,item = 1;int i = 1,n = 20;while(i<=n) {sum = sum+item;i = i+1;item = item*i;}System.out.println("sum="+sum);}}6.public class Xiti6 {public static void main(String args[]) {int sum=0,i,j;for(i=1;i<=1000;i++) {for(j=1,sum=0;j<i;j++) {if(i%j==0)sum=sum+j;}if(sum==i)System.out.println("完数:"+i);}}}7.public class Xiti7 {public static void main(String args[]) {int n=1,i=1,jiecheng=1;long sum=0;while(true) {jiecheng=1;for(i=1;i<=n;i++){jiecheng=jiecheng*i;}sum=sum+jiecheng;if(sum>9999)break;n++;}System.out.println("满足条件的最大整数:"+(n-1));}}习题 41.用类创建对象时。
Java大学实用教程(第2版)ppt
7.动作标记useBean
该标记用来创建并使用一个 JavaBean,是非常重要的一个动作标 记,我们将在第5章详细讨论。Sun公 司倡导的是:用HTML完成JSP页面的 静态部分,用JavaBean完成动态部分, 实现真正意义上的静态与动态的分隔。
8. Tag文件与Tag标记 Tag文件是扩展名为 .tag的文本文件, 其结构几乎和JSP文件相同,只是扩展 名不同而已。 一个Tag文件对应一个标记,习惯 上称为Tag标记。若干个Tag标记可以 组成一个标记库,习惯上称为自定义 标记库。
1. 8080是Tomcat服务器的默认端 号口 2. 修改Tomcat服务器的conf目录 下的主配置文件server.xml可以 更改端口号.
5.端口号
6.JSP运行原理
当服务器上的一个JSP页面被第一次请求执行时,服务器上的JSP引擎首 先将JSP页面文件转译成一个java文件,并编译这个java文件生成字节码文 件,然后执行字节码文件响应客户的请求. (1)把JSP页面中的HTML标记符号(页面的静态部分)交给客户的浏
2. Tomcat服务器的安装与配置
将安装JSP引擎的计算机称作一个支持JSP的Web服务器。支持JSP的Web服 务器负责运行JSP,并将运行结果返回给用户. Tomcat是一个免费的开源JSP引擎,也称作Tomcat服务器。可以登录 /tomcat免费下载Tomcat5.5
3. JSP页面的成员变量和方法
1.在JSP页面的标记符“<%!”和“%>” 之间声明的变量称作JSP页面的成员变 量.
2. JSP页面在“<%!”和“%>”之间声明 定义 方法 .
4. Java程序片
在“<%”和“%>”之间插入Java程序片 程序片中声明的变量称为JSP页面的局部 变量 多个客户请求一个JSP页面时 , Java程序 片将被执行多次,分别在不同的线程中 执行 。
Java-2实用教程实验指导模版代码
J a v a-2实用教程实验指导模版代码-CAL-FENGHAI.-(YICAI)-Company One1上机实践1 初识JAVA ...................................................................................... 错误!未定义书签。
实验1一个简单的应用程序............................................................................ 错误!未定义书签。
实验2一个简单的J AVA A PPLET程序................................................................. 错误!未定义书签。
实验3联合编译................................................................................................ 错误!未定义书签。
上机实践2 基本数据类型与控制语句 ............................................................ 错误!未定义书签。
实验1输出希腊字母表.................................................................................... 错误!未定义书签。
实验2回文数.................................................................................................... 错误!未定义书签。
实验3猜数字游戏............................................................................................ 错误!未定义书签。
Java程序设计实用教程(第2版)第5章_子类与继承
§5.2.5 关于instanceof运算符
instanceof运算符是Java独有的运算符号。 instanceof是双目运算符,其左面的操作元是对象, 右面的操作元是类,当左面的操作元是右面的类或子类 所创建的对象时,instanceof运算的结果是true,否则 是false。
《Java程序设计实用教程(第2版)》 第 5章
子类与继承
配合例子源代码一起使用
2017/8/16
1
导读
2017/8/16
2
§5.1 子类与父类 利用继承,可以先编写一个共有属性的一般 类,根据该一般类再编写具有特殊属性的新类, 新类继承一般类的状态和行为,并根据需要增加 它自己的新的状态和行为。 由继承而得到的类称为子类,被继承的类称 为父类(超类)。 声明一个类的子类的格式如下:
7
§5.2.3 protected的进步说明 ( 选讲 )
一个类A中的protected成员变量和方法可以被它的直接子类 和间接子类继承,如B是A的子类,C是B的子类,D又是C的子类, 那么B、C和D类都继承了A类的protected成员变量和方法。 如果用D类在D中创建了一个对象,该对象总是可以通过“.” 运算符访问继承的或自己定义的 protected变量和protected 方法 的 , 但是 , 如果在另外一个类中 , 如在 Other 类中用 D 类创建了一个 对 象 object, 该 对 象 通 过 “ . ” 运 算 符 访 问 protected 变 量 和 protected方法的权限如所述。 ( 1 ) 对 于 子 类 D 中 声 明 的 protected 成 员 变 量 和 方 法 , 如 果 object 要访问这些 protected 成员变量和方法,只要 Other 类和 D 类在同一个包中就可以了。 (2)如果子类D的对象的protected成员变量或protected方法是 从父类继承的,那么就要一直追溯到该 protected 成员变量或方 法的“祖先”类,即 A 类,如果 Other 类和 A 类在同一个包中,那 么object对象能访问继承的protected变量和protected方法。
java2实用教程(第2版)程序代码
"result_1="+result_1);
"result_2="+result_2);
}
}
例子
import .*;import .*;
interface Computable
{ final int MAX=100;
void speak(String s);
int f(int x);
}
}
例子
import .*;
import .*;
class Area
{float f(float r )
{return *r*r;
}
float g(float x,float y)
{return x+y;
}
}
class Circle extends Area
{float f(float r)
{return **r;
}
float g()
{ float c;
c=();
return c/2;
}
}
public class Example4_25
{ public static void main(String args[])
{ Average aver=new Average();
=100;
float result_1=();
{ public static void main(String args[])
{堆zui;ห้องสมุดไป่ตู้
Computerable bottom;
bottom=new梯形,,;面积());体积());
bottom=new圆形(10);面积());
Java程序设计实用教程(第2版)第4章_类 与 对 象
其中的“class Vehicle”称作类声明;“Vehicle”是类名。
给类命名时,遵守下列编程风格(这不是语法要求 的,但应当遵守):
◆
1.如果类名使用拉丁字母,那么名字的首字母使用大写字母, 如。 2.类名最好容易识别、见名知意。当类名由几个“单词”复 合而成时,每个单词的首字母使用大写。
2017/8/16 5
2017/8/16
30
§4.4.4 可变参数 可变参数是指在声明方法时不给出参数列表中从某项 直至最后一项参数的名字和个数,但这些参数的类型必 须相同。可变参数使用“…”表示若干个参数,这些参 数的类型必须相同,最后一个参数必须是参数列表中的 最后一个参数。例如: public void f(int … x) 那么, 方法f 的参数列表中,从第 1 个至最后一个参数都是 int 型,但连续出现的int型参数的个数不确定。称x是方法 f的参数列表中的可变参数的“参数代表”。 参数代表可以通过下标运算来表示参数列表中的具体 参数,即x[0],x[1]…x[m]分别表示x代表的第1个至第 m个参数。
1.对象操作自己的变量(对象的属性) 对象.变量; 2.对象调用类中的方法(对象的功能) 对象.方法; 3.体现封装 当对象调用方法时,方法中出现的成员变量就是指分 配给该对象的变量。
2017/8/16 20
图4.6 对象体现封装
代码: car1.setPower(128); car2.setPower(76); car1.speedUp(80); car2.speedUp(100);
2017/8/16
15
§4.3.1 构造方法
构造方法是一种特殊方法,它的名字必须与 它所在的类的名字完全相同,而且没有类型。 允许一个类中编写若干个构造方法,但必须 保证他们的参数不同,即参数的个数不同,或者 是参数的类型不同。
JAVA大学实用教程第二版_习题答案
Java大学实用教程第二版课后答案第一章作业题1.public class Hello{public static void main (String args[ ]){System.out.pintln(“早上好,good Morning”);}}2.import java.applet.*;import java.awt.*;public class Boy extends Applet {public void paint(Graphics g) {g.setColor(Color.blue);g.drawString("你好,hello",12,30);}}第二章作业题1.public class ZuoYe2_1{public static void main (String args[ ]){char c='а';System.out.println("字母"+c+"在unicode表中的顺序位置:"+(int)c);System.out.println("字母表:");while(c<='я'){System.out.print(" "+c);c=(char)(c+1);}}}2.import java.util.*;public class ZuoYe2_2{public static void main (String args[ ]){Scanner reader=new Scanner(System.in);long chengji=1;int m=0;while(reader.hasNextInt()){int x=reader.nextInt();m=m+1;chengji=chengji*x;}System.out.println(m+"个数的乘积为"+chengji);}}第三章作业题1.import java.util.*;public class ZuoYe3_1{public static void main (String args[ ]){Scanner reader=new Scanner(System.in);double y=0,x=0;x=reader.nextDouble();if(x<0)y=-1+2*x;else if(x==0)y=-1;else if(x>0)y=-1+3*x;System.out.println(y);}}2.public class ZuoYe3_2{public static void main(String args[]){int sum=0,m=3,n=7,a=1;while(a<=1000){if(a%m==0&&a%n==0)sum=sum+a;a++;}System.out.println("sum="+sum);}}3.public class ZuoYe3_3{public static void main(String args[]){long sum=0,a=8,item=a,n=10,i=1;for(i=1;i<=n;i++){ sum=sum+item;item=item*10+a;}System.out.println(sum);}}4.public class ZuoYe3_4{public static void main(String args[]){double sum=0,a=1,b=1,fuhao=1,item=a/b;int i=1;while(i<=1000){sum=sum+fuhao*item;i++;fuhao=fuhao*(-1);b=b+2;item=a/b;System.out.println("sum="+sum);}}5.public class ZuoYe3_5{public static void main(String args[]){double sum=0,a=1;int i=1;while(i<=20){if(i>=10)sum=sum+a;i++;a=a*i;}System.out.println("sum="+sum);}}8.第四章作业题1.class DengCha{int start,d;DengCha(){}DengCha(int start,int d){this.start=start;this.d=d;}void setStart(int s){start=s;void setD(int d){this.d=d;}int getSum(int n){int sum=0,i=1;while(i<=n){sum=sum+start;start=start+d;i++;}return sum;}}public class ZuoYe4_1{public static void main (String args[ ]){DengCha shulie=new DengCha(2,3);System.out.println(shulie.getSum(100));shulie.setStart(10);shulie.setD(5);System.out.println(shulie.getSum(9)); }}2.class Letter{public void printLetter(){for(char c='a';c<='z';c++)System.out.print(" "+c);}}public class ZuoYe4_2{public static void main (String args[ ]){Letter p=new Letter();p.printLetter();}}3.class SquareEquation{double a,b;static double c;double root1,root2;boolean boo;public SquareEquation(double a,double b,double c){this.a=a;this.b=b;SquareEquation.c=c;if(a!=0){boo=true;}else{boo=false;}}public void getRoots(){if(boo){System.out.println("是一元2次方程");double disk=b*b-4*a*c;if(disk>=0){root1=(-b+Math.sqrt(disk))/(2*a);root2=(-b-Math.sqrt(disk))/(2*a);System.out.printf("方程的根:%f,%f\n",root1,root2);}else{System.out.printf("方程没有实根\n");}}else{System.out.println("不是一元2次方程");}}public void setCoefficient(double a,double b,double c){this.a=a;this.b=b;SquareEquation.c=c;if(a!=0){boo=true;}else{boo=false;}}}public class ZuoYe4_3{public static void main(String args[ ]){SquareEquation equation1=new SquareEquation(4,5,1);SquareEquation equation2=new SquareEquation(3,5,-7);equation1.getRoots();equation2.getRoots();}}4.import java.util.Scanner;class A{int f(int m,int n){if(m*n<0){ System.out.println("有负数,程序退出");System.exit(0);}if(m<n){ int temp=m;m=n;n=temp;}int a=m,b=n;int r=m%n;while(r!=0){ m=n;n=r;r=m%n;}return n;}}class B{A a;B(){a=new A();}int g(int m,int n){int temp=a.f(m,n);return m*n/temp;}}public class ZuoYe4_4{public static void main (String args[ ]){Scanner reader=new Scanner(System.in);System.out.println("输入2个正整数,程序计算出它们的最大公约数和最小公倍数");System.out.print("输入第一个整数:");int m=reader.nextInt();System.out.print("输入第二个整数:");int n=reader.nextInt();A a=new A();B b=new B();System.out.println(m+"和"+n+"的最大公约数是"+a.f(m,n));System.out.println(m+"和"+n+"的最小公倍数是"+b.g(m,n));}}5.import java.applet.Applet;import java.awt.*;public class Example4_10 extends Applet{Button redbutton;public void init(){redbutton=new Button("我是一个红色的按钮");redbutton.setBackground(Color.red);redbutton.setForeground(Color.white);add(redbutton);}}第五章作业题1.import java.util.Scanner;class A{public int f(int m,int n){if(m<n){int temp=m;m=n;n=temp;}int r=m%n;while(r!=0){m=n;n=r;r=m%n;}return n;}}class B extends A{public int f(int m,int n){int division=super.f(m,n);return (m*n)/division;}}public class ZuoYe5_1{public static void main (String args[ ]){A a=new A();B b=new B();Scanner reader=new Scanner(System.in);System.out.println("输入2个整数,程序计算出它们的最大公约数和最小公倍数");System.out.print("输入第一个整数:");int m=reader.nextInt();System.out.print("输入第二个整数:");int n=reader.nextInt();if(m*n<0){ System.out.println("有负数,程序退出");System.exit(0);}System.out.printf("%d和%d的最大公约数是%d\n",m,n,a.f(m,n));System.out.printf("%d和%d的最小公倍数是%d\n",m,n,b.f(m,n));}}2.abstract class A{public abstract void f(int x);public abstract void g(int x,int y);public abstract double h(double x);}class A1 extends A{public void f(int x){System.out.println(x);}public void g(int x,int y){int z=x+y;System.out.println(z);}public double h(double x){return x*x;}}class A2 extends A{public void f(int x){System.out.println("Hello:"+x);}public void g(int x,int y){int z=x-y;System.out.println(z);}public double h(double x){return Math.sqrt(x);}}class A3 extends A{public void f(int x){System.out.println("你好:"+x);}public void g(int x,int y){double z=(double)x/y;System.out.println(z);}public double h(double x){return 1/x;}}public class ZuoYe5_2{public static void main(String args[ ]){A a=new A1();a.f(10);a.g(12,20);System.out.println(a.h(100));a=new A2();a.f(10);a.g(12,20);System.out.println(a.h(100));a=new A3();a.f(10);a.g(12,20);System.out.println(a.h(100));}}3.interface A{public abstract void f(int x);public abstract void g(int x,int y);public abstract double h(double x); }class A1 implements A{public void f(int x){System.out.println(x);}public void g(int x,int y){int z=x+y;System.out.println(z);}public double h(double x){return x*x;}}class A2 implements A{public void f(int x){System.out.println("Hello:"+x);}public void g(int x,int y){int z=x-y;System.out.println(z);}public double h(double x){return Math.sqrt(x);}}class A3 implements A{public void f(int x){System.out.println("你好:"+x);}public void g(int x,int y){double z=(double)x/y;System.out.println(z);}public double h(double x){return 1/x;}}public class ZuoYe5_3{public static void main(String args[ ]){A a=new A1();a.f(10);a.g(12,20);System.out.println(a.h(100));a=new A2();a.f(10);a.g(12,20);System.out.println(a.h(100));a=new A3();a.f(10);a.g(12,20);System.out.println(a.h(100));}}4.class Cubic{ double getCubic(int n){ return 0;}}abstract class Sqrt{ public abstract double getSqrt(int x);}class A{ void f(Cubic cubic){ double result=cubic.getCubic(3);System.out.println(result);}}public class ZuoYe5_4{ public static void main(String args[]){ A a=new A();a.f(new Cubic(){ double getCubic(int n){ return n*n*n;}});Sqrt ss=new Sqrt(){ public double getSqrt(int x){ return Math.sqrt(x);}};double m=ss.getSqrt(5);System.out.println(m);}}5.class IntegerException extends Exception{ String message;IntegerException(int m){ message="年龄"+m+"不合理";}public String toString(){ return message;}}class People{ private int age=1;public void setAge(int age) throws IntegerException{if(age>=160||age<=0)throw new IntegerException(age); //方法抛出异常,导致方法结束elsethis.age=age;}public int getAge(){ System.out.println("年龄"+age+"合理");return age;}}public class ZuoYe6_5{ public static void main(String args[]){ People wang=new People(),zhang=new People();try { wang.setAge(189);System.out.println(wang.getAge());}catch(IntegerException e){ System.out.println(e.toString());}try { zhang.setAge(28);System.out.println(zhang.getAge());}catch(IntegerException e){ System.out.println(e.toString());}}}第六章作业题1.import java.util.regex.*;import java.util.*;public class ZuoYe6_1{public static void main(String args[ ]){Scanner reader=new Scanner(System.in);String s1=reader.nextLine();Pattern p;Matcher m;p=pile("[24680]A[13579]{2}");m=p.matcher(s1);while(m.find()){String str=m.group();System.out.print("从"+m.start()+"到"+m.end()+"匹配模式子序列:");System.out.println(str);}}}2.import java.util.regex.*;import java.util.*;public class ZuoYe4_1{public static void main(String args[ ]){Scanner reader=new Scanner(System.in);String s1=reader.nextLine();Pattern p;Matcher m;p=pile("\\d+");m=p.matcher(s1);while(m.find()){String str=m.group();System.out.print(str);}}}第七章作业题1.import java.util.*;public class ZuoYe7_2{ public static void main(String args[]){int year,month;{year=Integer.parseInt(args[0]);month=Integer.parseInt(args[1])+1;}catch(NumberFormatException e){year=2004;month=1;}System.out.println(" 日一二三四五六");Calendar 日历=Calendar.getInstance();日历.set(year,month,1);int 星期几=日历.get(Calendar.DAY_OF_WEEK)-1;String a[]=new String[星期几+31];for(int i=0;i<星期几;i++){ a[i]="**";}for(int i=星期几,n=1;i<星期几+31;i++){ if(n<=9)a[i]=String.valueOf(n)+" ";elsea[i]=String.valueOf(n) ;n++;}for(int i=0;i<a.length;i++){ if(i%7==0){ System.out.println("");}System.out.print(" "+a[i]);}}}2.class ZuoYe7_2{ public static void main(String args[]){int year1,month1,day1,year2,month2,day2;{year1=Integer.parseInt(args[0]);month1=Integer.parseInt(args[1]);day1=Integer.parseInt(args[2]);year2=Integer.parseInt(args[3]);month2=Integer.parseInt(args[4]);day2=Integer.parseInt(args[5]);}catch(NumberFormatException e){year1=2009;month1=0;day1=1;year2=2008;month2=0;day2=1;}Calendar calendar=Calendar.getInstance();calendar.set(year1,month1,day1);long timeYear1=calendar.getTimeInMillis();calendar.set(year2,month2,day2);long timeYear2=calendar.getTimeInMillis();long 相隔天数=Math.abs((timeYear1-timeYear2)/(1000*60*60*24));System.out.println(""+year1+"年"+month1+"月"+day1+"日和"+year2+"年"+month2+"月"+day2+"日相隔"+相隔天数+"天");}}3.import java.math.*;public class ZuoYe4_1{public static void main(String args[]){BigInteger chengji=new BigInteger("1"),ONE=new BigInteger("1"),i=ONE,m=new BigInteger("10");while(pareTo(m)<=0){chengji=chengji.multiply(i);i=i.add(ONE);}System.out.println(chengji);}}4.import java.util.*;public class ZuoYe7_4{public static void main(String args[]){HashSet<Integer> A=new HashSet<Integer>(),B=new HashSet<Integer>(),tempSet=new HashSet<Integer>();A.add(new Integer(1));A.add(new Integer(2));A.add(new Integer(3));A.add(new Integer(4));B.add(new Integer(1));B.add(new Integer(3));B.add(new Integer(7));B.add(new Integer(9));B.add(new Integer(11));tempSet=(HashSet<Integer>)A.clone();tempSet.retainAll(B);System.out.println("交:");Iterator<Integer> iter=tempSet.iterator();while(iter.hasNext()){Integer te=iter.next();System.out.printf("%d,",te.intValue());}tempSet=(HashSet<Integer>)A.clone();tempSet.addAll(B);iter=tempSet.iterator();System.out.println("并:");while(iter.hasNext()){Integer te=iter.next();System.out.printf("%d,",te.intValue());}tempSet=(HashSet<Integer>)A.clone();tempSet.removeAll(B);System.out.println("差:");iter=tempSet.iterator();while(iter.hasNext()){Integer te=iter.next();System.out.printf("%d,",te.intValue());}}}5.import java.util.*;class MyKey implements Comparable{double number=0;MyKey(double number){this.number=number;}public int compareTo(Object b){MyKey st=(MyKey)b;if((this.number-st.number)==0){return -1;}else{return (int)((this.number-st.number)*1000);}}}class 硬盘{int size;double price;硬盘(int n, double p){size=n;price=p;}}public class ZuoYe4_1{public static void main(String args[ ]){int [] size={10,3,7,12,10,22,100,4,6,2};double [] price={1.2,9.56,2.4,9.3,16.77,12.66,7.4,5.5,5.6,8.9,1.9};硬盘[] s=new 硬盘[10];for(int i=0;i<s.length;i++)s[i]=new 硬盘(size[i],price[i]);TreeMap<MyKey,硬盘> treemap=new TreeMap<MyKey,硬盘>();for(int i=0;i<s.length;i++)treemap.put(new MyKey(s[i].size),s[i]);int number=treemap.size();System.out.println("树映射中有"+number+"个对象:");Collection<硬盘> collection=treemap.values();Iterator<硬盘> iter=collection.iterator();while(iter.hasNext()){硬盘te=iter.next();System.out.println(te.size+","+te.price);}treemap.clear();for(int i=0;i<s.length;i++)treemap.put(new MyKey(s[i].price),s[i]);number=treemap.size();System.out.println("树映射中有"+number+"个对象:");collection=treemap.values();iter=collection.iterator();while(iter.hasNext()){硬盘te=iter.next();System.out.println(te.size+","+te.price);}}}第八章作业题1.属于操作题目,省略2.参见例子8-23.参见例子8-34.参见例子8-10第九章作业题1.import java.io.*;import java.awt.*;import java.awt.event.*;public class ZuoYe9_1{ public static void main(String args[]){ int b;byte tom[]=new byte[25];try{ File f=new File("Example.java");FileInputStream in=new FileInputStream(f);while((b=in.read(tom,0,25))!=-1){ String s=new String (tom,0,b);System.out.print(s);}in.close();}catch(IOException e){ System.out.println("File read Error"+e);}}}2.import java.io.*;import java.util.*;public class ZuoYe9_2{public static void main(String args[]){Scanner reader=new Scanner(System.in);int b;try{FileOutputStream writefile=new FileOutputStream("line.txt");int line=1,n=10;System.out.println("输入"+n+"行文本,并存入磁盘:");while(line<=n){String s=reader.nextLine();byte buffer[]=s.getBytes();writefile.write(buffer,0,buffer.length);line++;}writefile.close();}catch(IOException e){System.out.println("Error "+e);}}}3.import java.io.*;public class ZuoYe9_3{public static void main(String args[ ]){int n=-1;CharArrayWriter out=new CharArrayWriter();for(char c='а';c<='я';c++){out.write(c);}CharArrayReader in=new CharArrayReader(out.toCharArray());try{ while((n=in.read())!=-1){if(n%2==0){System.out.printf("\n");}System.out.printf("\t位置%d,字符\'%c\'",n,(char)n);}}catch(IOException e){}}}4.import java.io.*;import java.util.*;public class ZuoYe9_4{public static void main(String args[]){try{FileOutputStream fos=new FileOutputStream("jerry.dat");DataOutputStream out_data=new DataOutputStream(fos);Scanner reader=new Scanner(System.in);for(int i=1;i<=10;i++){int x=reader.nextInt();out_data.writeInt(x);}out_data.close();}catch(IOException e){}try{FileInputStream fis=new FileInputStream("jerry.dat");DataInputStream in_data=new DataInputStream(fis);for(int i=1;i<=10;i++){int m=in_data.readInt();System.out.print(" "+m);}in_data.close();}catch(IOException e){}}}5.import java.io.*;import java.util.*;class Student implements Serializable{String name ;int number;Student(String name,int number){=name;this.number=number;}}public class ZuoYe9_5{public static void main(String args[]){List<Student> list=new LinkedList<Student>();List<Student> cloneList=null;for(int k=1;k<=12;k++)list.add(new Student("I am "+k,k));try{ FileOutputStream fileOut=new FileOutputStream("a.txt");ObjectOutputStream objectOut=new ObjectOutputStream(fileOut);objectOut.writeObject(list);FileInputStream fileIn=new FileInputStream("a.txt");ObjectInputStream objectIn=new ObjectInputStream(fileIn);cloneList=(List)objectIn.readObject();}catch(Exception event){System.out.println(event);}Iterator iter=cloneList.iterator();while(iter.hasNext()){Student te=(Student)iter.next();System.out.println(te.number+","+);}}}6.import java.io.*;public class ZuoYe9_6{ public static void main(String args[]){File f=new File("Xiti12_6.java");try{ RandomAccessFile random=new RandomAccessFile(f,"rw");random.seek(0);long m=random.length();while(m>=0){ m=m-1;random.seek(m);int c=random.readByte();if(c<=255&&c>=0){ System.out.print((char)c);}else{ m=m-1; //一个汉字占2个字节random.seek(m);byte cc[]=new byte[2];random.readFully(cc);System.out.print(new String(cc));}}random.close();}catch(IOException ee){}}}5.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Xiti8_5{ public static void main(String args[]){ ComputerFrame fr=new ComputerFrame();fr.setTitle("计算");}}class ComputerFrame extends JFrame implements ActionListener{ JTextField text1,text2,text3;JButton button1,button2,button3,button4;JLabel label;public ComputerFrame(){setLayout(new FlowLayout());text1=new JTextField(10);text2=new JTextField(10);text3=new JTextField(10);label=new JLabel(" ",JLabel.CENTER);label.setBackground(Color.green);add(text1);add(label);add(text2);add(text3);button1=new JButton("加");button2=new JButton("减");button3=new JButton("乘");button4=new JButton("除");add(button1);add(button2);add(button3);add(button4);button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);setSize(400,320);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); validate();}public void actionPerformed(ActionEvent e){ double n;if(e.getSource()==button1){ double n1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1+n2;text3.setText(String.valueOf(n));label.setText("+");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}else if(e.getSource()==button2){ double n1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1-n2;text3.setText(String.valueOf(n));label.setText("-");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}else if(e.getSource()==button3){double n1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1*n2;text3.setText(String.valueOf(n));label.setText("*");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}else if(e.getSource()==button4){double n1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1/n2;text3.setText(String.valueOf(n));label.setText("/");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}validate();}}6.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Xiti8_6{ public static void main(String args[]){ new WindowPanel();}}class Mypanel extends JPanel implements ActionListener { JButton button;JTextField text;Mypanel(){ button=new JButton(" ");text=new JTextField(12);add(button);add(text);button.addActionListener(this);}public void actionPerformed(ActionEvent e){ String name=text.getText();if(name.length()>0)button.setText(name);validate();}}class WindowPanel extends JFrame{ Mypanel panel1,panel2;WindowPanel(){ panel1=new Mypanel();panel2=new Mypanel();panel1.setBackground(Color.red);panel2.setBackground(Color.blue);add(panel1,BorderLayout.SOUTH);add(panel2,BorderLayout.NORTH);setSize(300,320);setVisible(true);validate();setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}7.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Xiti8_7{ public static void main(String args[]){ new WindowColor();}}class WindowColor extends JFrame{ JButton button;JTextField text;JComboBox list;WindowColor(){ setLayout(new FlowLayout());button=new JButton("hello");button.setBackground(Color.pink);button.setForeground(new Color(12,26,200));text=new JTextField("how are you");text.setBackground(Color.yellow);text.setForeground(new Color(200,26,20));list=new JComboBox();list.addItem("Hello");list.addItem("Java");list.setBackground(Color.cyan);list.setForeground(new Color(100,100,100));add(list);add(button);add(text);setSize(300,320);setVisible(true);validate();setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}8.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Xiti8_8{ public static void main(String args[]){ MoveFrame f=new MoveFrame();f.setBounds(12,12,300,300);f.setVisible(true);f.setTitle("移动");f.validate();f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}class MoveFrame extends JFrame implements ActionListener{ JButton controlButton,movedButton;public MoveFrame(){ controlButton=new JButton("单击我运动另一个按钮");controlButton.addActionListener(this);movedButton=new JButton();movedButton.setBackground(new Color(12,200,34));setLayout(null);add(controlButton);add(movedButton);controlButton.setBounds(10,30,180,30);movedButton.setBounds(100,100,20,20);}public void actionPerformed(ActionEvent e){ int x=movedButton.getBounds().x;int y=movedButton.getBounds().y;x=x+5;y=y+1;movedButton.setLocation(x,y);if(x>200){ x=100;y=100;}}}9.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class E{ public static void main(String args[]){ JFrame fr=new JFrame();fr.add(new LP(),BorderLayout.CENTER);fr.setVisible(true);fr.setBounds(12,12,300,300);fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);fr.validate();}}class LP extends JLayeredPane implements MouseListener,MouseMotionListener { JButton button[];JTextField text[];int x,y,a,b,x0,y0;LP(){ setLayout(new FlowLayout());button=new JButton[8];for(int k=0;k<button.length;k++){ button[k]=new JButton("用鼠标拖动我");add(button[k]);button[k].addMouseListener(this);button[k].addMouseMotionListener(this);}text=new JTextField[10];for(int k=0;k<text.length;k++){ text[k]=new JTextField("用鼠标拖动我");text[k].addMouseListener(this);add(text[k]);text[k].addMouseMotionListener(this);}addMouseMotionListener(this);}public void mousePressed(MouseEvent e){ Component com=null;com=(Component)e.getSource();setLayer(com,JLayeredPane.DRAG_LAYER);a=com.getBounds().x;b=com.getBounds().y;x0=e.getX(); //获取鼠标在事件源中的位置坐标y0=e.getY();}public void mouseReleased(MouseEvent e){ Component com=null;com=(Component)e.getSource();setLayer(com,JLayeredPane.DEFAULT_LAYER);Component component[]=this.getComponents();for(int k=0;k<component.length;k++){ Rectangle rect1=component[k].getBounds();Rectangle rect2=com.getBounds();if(rect1.intersects(rect2)&&com!=component[k]){ component[k].setVisible(false);//this.remove(component[k]);}}}public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}public void mouseClicked(MouseEvent e){}public void mouseMoved(MouseEvent e){}public void mouseDragged(MouseEvent e){ Component com=null;if(e.getSource() instanceof Component){ com=(Component)e.getSource();a=com.getBounds().x;b=com.getBounds().y;x=e.getX(); //获取鼠标在事件源中的位置坐标y=e.getY();a=a+x;b=b+y;com.setLocation(a-x0,b-y0);}}}10.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class E{ public static void main(String args[]){ JFrame fr=new JFrame();fr.add(new MoveButton(),BorderLayout.CENTER);fr.setVisible(true);fr.setBounds(12,12,300,300);fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);fr.validate();}}class MoveButton extends JLayeredPane implements KeyListener { JButton b[]=new JButton[8];int x,y;MoveButton(){ setLayout(new FlowLayout());for(int i=0;i<8;i++){ b[i]=new JButton(""+i);b[i].addKeyListener(this);add(b[i]);}}public void keyPressed(KeyEvent e){ int moveDistance=1;Component com=(Component)e.getSource();int x=(int)com.getBounds().x;int y=(int)com.getBounds().y;Component component[]=this.getComponents();if(e.getKeyCode()==KeyEvent.VK_UP)。
应用实例源代码Java程序设计(第二版)应用实例源代码13.6 应用实例-案例学生信息管理系统
案例学生信息管理系统1.案例要求编写学生信息管理系统程序,功能是访问13.1节建立的学生数据库student.accdb,该数据库有一个数据表xuesheng,表字段有学号、姓名、性别、年龄、籍贯、所在院系和专业。
运行主界面如图13-20所示。
具体来说,在此界面中,我们输入学号或姓名进行记录“查询”操作,单击“添加”、“修改”和“删除”按钮做添加、修改和删除记录操作。
其中,添加记录通过如图13-14所示的对话框录入数据,修改记录也是通过专门的对话框进行的。
要删除记录时,则显示一个确认对话框,只有单击“是”按钮后才执行删除操作。
图13-20 学生信息管理系统主界面2.案例分析学生信息管理系统一共有8个类,统一放在stu包中:StudentDate类是数据库操作类,用来连接数据库,有查询、添加、修改和删除操作方法;TableForm类是表格类,将查询得到的记录显示到表格中;DialogForm类是组件类,用来设置添加和修改记录时所需要的GUI 组件;LoginForm类是登录类,用来作程序入口;MainForm类是主界面类,在此界面中现在数据表的记录,并单击其他按钮做相应的操作;AddForm类是添加信息类,弹出一个对话框输入新记录;UpdateForm类是修改信息类,弹出对话框修改记录;DeleteForm类是删除信息类,弹出对话框选择是否删除记录。
3.案例实现(1)编写学生信息管理系统程序的数据库操作类。
数据库操作类直接跟数据库交互,涉及到数据库连接、数据查询、记录添加、修改、删除和数据库对象关闭操作,每个操作都有具体的方法实现。
StudentDate数据库操作类不带main方法,不能独立运行。
为了方便编程,在此类中将建立数据库连接、关闭连接、关闭语句和关闭结果集分别编程4个方法,由于这些类都只是内部调用,所有设置成私有的。
其余查询记录、添加、修改、删除记录等方法设置成公共的,这些方法可以被其他类调用。
应用实例源代码Java程序设计(第二版)应用实例源代码12.8 应用实例-案例2简易记事本
案例2 简易记事本1.案例要求简易记事本可以进行新建、打开、保存、退出、复制、剪贴和粘贴操作。
2.案例分析编写简易记事本,要三个类,第一个类是主界面窗口类NoteBookFrame,这个类继承了例题12-15中的JToolBarDemo类,设置了主界面需要的基本组件、菜单栏、快捷菜单栏和工具栏,并给主要的菜单项,比如“新建”、“打开”、“保持”、“退出”、“剪贴”、“复制”和“粘贴”等添加动作监听,触发动作事件,实现相应的功能;第二个类是文件操作类FileOperation,主要是做文件的新建,打开、保存等功能实现,此类对象在主界面窗口类NoteBookFrame被调用。
第三个类是主类Example18,创建主界面窗口类NoteBookFrame 对象,从而创建了简易记事本。
3.案例实现例题12-12已经编写了主窗口的大部分代码,程序运行界面和运行结果如图12-26和12-27所示。
图12-26 简易记事本图12-27 打开文件对话框(1)主界面窗口源代码如下:import javax.swing.*;import java.awt.*;import java.awt.datatransfer.Clipboard;import java.awt.datatransfer.DataFlavor;import java.awt.datatransfer.StringSelection;import java.awt.datatransfer.Transferable;import java.awt.event.*;class NoteBookFrame extends JToolBarDemo implements ActionListener{ //继承例题15的JToolBarDemoboolean ifSave = false; //是否保存文件FileOperation fileOperation = new FileOperation(); //创建文件操作类对象Clipboard clipboard = new Clipboard("");//Clipboard类实现一种使用剪切/复制/粘贴操作传输数据的机制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java大学实用教程
Hello.java
class A
{
void f()
{
System.out.println("I am A");
}
}
class B
{
}
public class Hello
{
public static void main (String args[ ]) {
System.out.println("你好,很高兴学习Java");
A a=new A();
a.f();
}
}
Tom.java
public class Tom{
int leg;
String head;
void cry(String s){
System.out.println(s);
}
}
class Example{
public static void main(String args[])
{ Tom cat;
cat=new Tom();
cat.leg=4;
cat.head="猫头";
System.out.println("腿:"+cat.leg+"条"); System.out.println("头:"+cat.head);
cat.cry("我今天要和Jerry拼了");
}
}
Ch10
importjavax.swing.*;
importjava.awt.event.InputEvent;
importjava.awt.event.KeyEvent;
public class Example10_1{
public static void main(String args[]){
FirstWindow win=new FirstWindow("一个简单的窗口");
}
}
classFirstWindow extends JFrame{
JMenuBarmenubar;
JMenu menu;
JMenuItem item1,item2;
FirstWindow(String s){
setTitle(s);
setSize(160,170);
setLocation(120,120);
setVisible(true);
menubar=new JMenuBar();
menu=new JMenu("文件");
item1=new JMenuItem("打开",new ImageIcon("open.gif"));
item2=new JMenuItem("保存",new ImageIcon("save.gif"));
item1.setAccelerator(KeyStroke.getKeyStroke('O'));
item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_M ASK));
menu.add(item1);
menu.addSeparator();
menu.add(item2);
menubar.add(menu);
setJMenuBar(menubar);
validate();
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
}
Java大学实用教程(第2版)[程序源代码].zip
完全版:。