Java安装程序制作(PDF)

Java安装程序制作(PDF)
Java安装程序制作(PDF)

对于Java桌面应用来说,比较烦琐的就是安装部署问题,如:客户端是否安装有jre、jre版本、jre在哪里下载、如何用jre启动Java应用等等。不要说刚接触电脑的人,就算是比较熟悉电脑,如果没有接触过Java,面对一个Java应用,如何在Windows下启动它,估计都会折腾半天。所以这个是导致Java桌面应用被一些人所讨厌的最大原因,Java的优势是“一次编写,随处运行”,跨平台特性确实很好,但并不是每个人都需要跨平台,而且有时候JVM平台或版本问题也会造成“一次编写,到处测试”的尴尬。对于固定平台下的Jav a应用,最好的方式莫过于带着JRE,让用户轻松点击就能运行。下面我们来解决这样的问题。

针对windows平台,主要方法是:先将JRE进行精简,再使用工具exe4j 来解决双击运行使用的问题,最后用Inno Setup打包成安装程序, 这样一来,我们的Java应用就和普通的windows应用程序一样了。

相关软件下载

本教程示例程序

https://www.360docs.net/doc/803722284.html,/user/javapro/file/1418316

exe4j 4.2 注册版

https://www.360docs.net/doc/803722284.html,/user/javapro/file/1418327

Inno Setup 汉化增强版 + ISTool汉化 + 反编译套装 + ISFD界面设计汉化

https://www.360docs.net/doc/803722284.html,/user/javapro/file/1418305

一、精简JRE

JRE6默认安装大小大约90M,而一般程序只有几M甚至几百K,带JRE运行,感觉非常不合理,分发与网络传输过程也会大受影响。关于JRE的精简参照下面几篇相关文章:

Java程序发布之jre篇

https://www.360docs.net/doc/803722284.html,/gdws/archive/2006/12/25/89898.html

如何制作最小的RCP程序压缩包(包含JRE)

https://www.360docs.net/doc/803722284.html,/bbs/read-cec-tid-5777.html

让Java程序带上精简的jre(附工具)

https://www.360docs.net/doc/803722284.html,/archives/200

JRE极限精简探求手册[1]——精简一个Swing的即时战略游戏

https://www.360docs.net/doc/803722284.html,/601635/129630

Java应用——精简JRE体积的小工具

https://www.360docs.net/doc/803722284.html,/cping1982/archive/2008/09/02/2865198.aspx

JVM rt.jar 精简工具图形外壳 0.1

https://www.360docs.net/doc/803722284.html,/beansoft/archive/2008/12/19/247321.html

可以运行 RCP/Swing 的迷你JRE 6(3.75MB)

https://www.360docs.net/doc/803722284.html,/beansoft/archive/2008/01/18/176353.html

可以运行SWT的精简版JRE 1.4.2_04, 压缩后仅1.3MB

https://www.360docs.net/doc/803722284.html,/beansoft/archive/2007/03/07/102381.html

总得来说JRE精简是一个比较复杂的工作,如果不清楚某部分的功能不要轻易进行删减,否则可能产生一些未知的错误。pack200压缩工具在对某些重新打包过的rt.jar文件压缩时会产生错误,如果使用的话一定要注意控制台的输出信息。

二、使用exe4j生成exe可执行文件

下面是我的一个完整Java示例程序 —— TestProcessBar。可以看到示例程序已经附带了jre , 下面先使用exe4j给它制作一个exe可执行文件(即图中的TestProcessBar.ex e),并指定我们自带的jre 。

以下是exe4j的启动界面,点击Next开始创建配置文件。

接着选择要创建的exe文件类型,在这里我们选择第一个,这样其实是为程序创建一个可以双击运行的启动器,可以保证程序仍具有跨平台的特性。如果选择第二个,可以把程序完全编译成exe文件,可以更好的保护你的程序不被反编译。

接下来设置程序的短文件名,源文件夹路径(可以使用exe4j工程文件的相对路径。这里我的exe4j文件保存在launcher目录下,所以使用的源路径为[..],即上一级目录),以及要生成的exe文件的存放目录,exe存放目录相对路径为源文件夹,这里我把它指定为当前源文件夹。

接下来,可以给我们即将生成的exe文件起一个名字,如我的“TestProcessBar.exe”,还可以给它指定一个ico类型的图标,其它按默认就可以了,如图:

这里我们还可以为要生成的exe文件附加一些信息

接下来的这一步,我们需要把程序中所用到的类路径添加上去。然后指定程序的启动类,其它如果没有必要的话,则按默认即可,点击+号添加类路径:

基本上我们所需要用到的jar文件都要添加上去,可以逐个添加上去,也可以添加整个文件夹或者使用系统环境变量,为了使程序能够随处运行,强列建议使用相对路径,并且不要使用环境变量。添加好类路径之后回到上一步去选择"Main Class"即可。

接下来先选择我们的程序所需要的jre版本, 然后便是选择我们自带的jre了,这一步不是必须,但是为了更好的分发程序,我们自带了jre, 所以有必要把我们自带的jre指定为首选的运行环境,如图选择Search sequence

默认情况下程序会去系统的注册表,环境变量及相关的目录查找jre,因为我们只需要自带的jre,所以这里我把默认的选项移除了(如果觉得有必要的话可以把默认的选项放在自带jre 选项的后面,不删除),然后添加我们自己的jre所在的目录路径,点+号开始:

这里还是建议使用相对的目录路径:

指定jre所在的目录,如图:

最后我的jre目录路径就是这样的:.\jre1.6

下面这一步启动画面,有兴趣的可以自已设置一下。

程序最终生成了这个执行文件: TestProcessBar.exe

现在使用它,已经可以正常利用我们自带的jre启动程序了,但是整个程序仍有近19M的大小。

这时候打个压缩包,已经可以进行发布了。但是为了更大的压缩,并制作更加方便易用的程序,下面我们使用Inno Setup进行压缩并制作一个安装包。

三、使用Inno Setup为程序制作打包安装程序安装后启动脚本向导,如图所示:

这里指定程序的启动文件,即刚才用exe4j创建的exe文件。然后将整个程序目录都包含进去就可以了(这里因为程序中有一些exe4j和inno setup的工程文件,故有所选择),接下来的基本上一直按下一步就可以了,其中要设置一下安装程序的输出目录,直到脚本向导完成,

然后执行该脚本即可:

然后找到Inno Setup的输出目录,就可以看到编译输出后的安装包了,如下图:setup.exe 大小已经压到了6.38M。

利用这个就可以快速轻松的安装你的Java桌面应用了。

四、总结

总体来讲,我们的目的是为了让我们编写出的程序更加的方便易用。通过以上的学习,现在我们已经可以制作出可双击运行、不用用户另装jre的、简单易用的程序安装包。大家可以对jre精简、exe启动器的制作、打包安装进行更深入的学习。本教程中的工具只是做一个抛砖引玉,还有很多类似功能的工具有待大家去研究,最后,希望大家能够制作出属于自己的简单明快的一键式Java程序。

Jason

amooo.javapro@https://www.360docs.net/doc/803722284.html,

https://www.360docs.net/doc/803722284.html,

2009-03-24

Java语言程序设计基础篇前三章课后习题要点

第1章计算机、程序和Java概述 1.1(显示三条消息)编写程序,显示Welcome to Java、Welcome to Computer Science和Programming is fun。 程序: 显示: 1.2(显示五条消息)编写程序,显示Welcome to Java五次 程序: 显示: 1.3(显示图案)编写一个程序,显示下面的图案:

程序: 显示: 1.4(打印表格)编写程序,显示以下表格: 程序: 显示:

1.5(计算表达式)编写程序,显示(9.5x4.5- 2.5x3)/(45.5- 3.5)的结果 程序: 显示: 1.6(数列求和)编写程序,显示1+2+3+4+5+6+7+8+9的结果 程序: 显示: 1.7(近似求π)可以使用以下公式计算π: Π=4x(1-1/3+1/5-1/7+1/9-1/11+1/13+...) 编写程序,显示4x(1-1/3+1/5-1/7+1/9-1/11+1/13...)的结果。在程序中用1.0代替1 程序: 显示:

第2章基本程序设计 2.1(将摄氏温度转换为华氏温度)编写程序,从控制台读入double型的摄氏温度,然后将其转换华氏温度,并显示结果。转换公式如下所示: Fahrenheit-=(9/5)*celsius+32 (华氏度=(9/5)*摄氏度+32) 程序: 显示: 2.2(计算圆柱体的体积)编写程序,读入圆柱体的半径和高,并使用下列公式计算圆柱体的体积 面积=半径x半径xπ 体积=面积x高 程序: 显示:

2.3(将英尺转换为米)编写程序,读入英尺数,将其转换为米数并显示结果。一英尺等于0.305米。 程序: 显示: 2.4(将磅转换为千克)编写程序,将磅数转换为千克数。程序提示用户输入磅数,然后转换成千克并显示结果。1磅等于0.454千克。 程序: 显示: 2.5(财务应用程序:计算小费)编写一个程序,读入一笔费用与酬金率,就算酬金和总钱数。例如,如果用户读入10作为费用,15%作为酬金率,计算结果显示酬金为$1.5,总费用为$11.5. 程序:

《Java语言程序设计基础教程》习题解答

《Java语言程序设计基础教程》练习思考题参考答案

第1章Java程序设计概述 1.9 练习思考题 1、Java运行平台包括三个版本,请选择正确的三项:() A. J2EE B. J2ME C. J2SE D. J2E 解答:A,B,C 2、Java JDK中反编译工具是:() A. javac B. java C. jdb D. javap 解答:D 3、public static void main方法的参数描述是:() A. String args[] B. String[] args C. Strings args[] D. String args 解答:A,B 4、在Java中,关于CLASSPATH环境变量的说法不正确的是:() A. CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B. 编译器用它来搜索各自的类文件。 C. CLASSPATH是一个目录列表。 D. 解释器用它来搜索各自的类文件。 解答:A 5、编译Java Application源文件将产生相应的字节码文件,扩展名为() A. .java B. .class C. .html D. .exe 解答:B 6、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。 7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。 8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生______个文件名与类名相同而扩展名为______的字节码文件。 9、开发与运行Java程序需要经过哪些主要步骤和过程? 10、Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎么样的? 11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。

java语言程序设计基础篇8.9答案

在一个正n边形中,所以边的长度都相同,且所有角的度数都相同(即这个多边形是等边等角的)。 设计一个名为RegularPolygon的类,该类包括: 一个名为int型的私有数据域定义多边形的边数,默认值3。一个名为side的double型私有数据域存储边的长度,默认值1。 一个名为x的double型私有数据域,它定义多边形中点的x坐标,默认值0。一个名为y 的double型私有数据域,它定义多边形中点的y坐标,默认值0。一个创建带默认值的正多边形的无参构造方法。 一个能创建带指定边数和边长度、中心在(0,0)的正多边形的构造方法。一个能创建带指定边数和边长度、中心在(x,y)的正多边形的构造方法。所有数据域的访问器和修改器。一个返回多边形周长的方法getPerimeter()。 一个返回多边形面积的方法getArea().计算多边形面积的公式是:面积=(n*s*s)/(4*tan(p/n)) 画出该类的UML图。实现这个类。编写一个测试程序,分别使用无参构造方法、RegularPolygon(6,4)和RegularPolygon(10,4,5.6,7.8)创建三个RegularPolygon对象。显示每个对象的周长和面积。 代码: class Regularpolygon{ private int n=3;//边长 private double side=1;//边长 private double x=0; private double y=0;//x,y为多边形中点的x,y坐标 Regularpolygon(){ } Regularpolygon(int newN,int newS){ n=newN; side=newS; x=0; y=0; } Regularpolygon(int newN,int newS,double newX,double newY){ n=newN; side=newS; x=newX; y=newY; } public void setN(int newN){ n=newN; } public void setSide(double newS){ side=newS; }

Java语言程序设计基础篇全习题答案16

Chapter 16 Applets and Multimedia 1. Every applet is an instance of java.awt.Applet. Not every applet is an instance of javax.swing.JApplet. Only the Swing applets are instances of JApplet. 2. See the section "The Applet Class." 3. The components are added to the content pane of the applets. The default layout manager of the content pane of JApplet is BorderLayout. 4. (a) The void should be removed to declare a constructor. (b) The jlblMessage is declared in Line 2 as a data field, but redeclared in Line 5 as a local variable. The local variable is assigned with new JLabel("It is Java"), but the data field is still null. In Line 12, jlblMessage is null, which causes NullPointerException. 5. See the section "The HTML Tag." You use the tag to pass parameters to an applet. getParameter() method is defined in the Applet class. 6. The 7. Revision 1 is wrong because the getParameter method is an instance method and it cannot be invoked before an instance of the applet is created. Revision 2 is wrong because the init method is invoked after the applet instance is created. 8.An application has a main() method and runs as a standalone. An applet does not need a main method and must run from a Web browser. Applications and applets are compiled in the same way. Applets are not allowed to read from, or write to, the file system of the computer. Applets are not allowed to run any programs on the browser's computer. Applets are not allowed to establish connections between the user's computer and another computer except with the server where the applets are stored. 9. No. 10. Yes. You can create an instance of JApplet and place it in a frame and use it. 11. You will see garbage displayed in the cell.

java语言程序设计基础篇第二章程序练习题答案

java语言程序设计基础篇第二章程序练习题答案

2.1(将摄氏温度转化为华氏温度) import java.util.*; public class test { public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); System.out.print("Enter a degree in celsius: "); double Celsius = input.nextDouble(); double Fahrenheit; Fahrenheit = (9.0/5) * Celsius + 32; System.out.println(Celsius + " Celsius is" + Fahrenheit + " Fahrenheit"); } } 2.2(计算圆柱体的体积) import java.util.*; public class test {

public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); System.out.print("Enter the radius and length of a cylinder: "); double radius = input.nextDouble(); double length =input.nextDouble(); double area = radius * radius * Math.PI; double volume = area * length; System.out.println("The area is " + area); System.out.println("The volume is " + volume); } } 2.3(将英尺转换为米) import java.util.Scanner; public class test { public static void main(String[] args) {

《Java语言程序设计(基础篇)》(第10版 梁勇 著)第三十五章练习题答案

《Java语言程序设计(基础篇)》(第10版梁勇著) 第三十五章练习题答案 35.1 import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import https://www.360docs.net/doc/803722284.html,bel; import javafx.scene.control.TextField; import javafx.stage.Stage; import java.sql.*; import javafx.application.Platform; import javafx.collections.FXCollections; import javafx.geometry.HPos; import javafx.geometry.Pos; import https://www.360docs.net/doc/803722284.html,boBox; import javafx.scene.control.PasswordField; import javafx.scene.control.TextArea; import https://www.360docs.net/doc/803722284.html,yout.BorderPane; import https://www.360docs.net/doc/803722284.html,yout.GridPane; import https://www.360docs.net/doc/803722284.html,yout.HBox; public class Exercise35_01 extends Application { private DBConnectionPane dBConnectionPane = new DBConnectionPane(); private Label lblConnectionStatus = new Label("No connection now"); private TextArea taDisplay = new TextArea(); @Override // Override the start method in the Application class public void start(Stage primaryStage) { Button btBatchUpdate = new Button("Batch Update"); Button btNonBatchUpdate = new Button("Non-Batch Update"); HBox hBoxButtons = new HBox(10); hBoxButtons.getChildren().addAll(btBatchUpdate, btNonBatchUpdate); hBoxButtons.setAlignment(Pos.CENTER); BorderPane borderPaneConnect = new BorderPane(); Button btConnectDB = new Button("Connect to Database"); borderPaneConnect.setCenter(lblConnectionStatus); borderPaneConnect.setRight(btConnectDB);

Java语言程序设计基础篇全习题答案21

Chapter 21 Generics 1.(a) will compile fine, but (b) has a compilation error on Line 3, because dates is declared as a list of Date objects. You cannot assign a string to the list. 2.casting is needed in (a), but no casting is necessary in (b) with the generic type ArrayList. 3.One important benefit is improving reliability and robustness. Potential errors can be detected by the compiler. 4.No. 5.No. 6.Yes. 7.To declare a generic type for a class, place the generic type after the class name, such as GenericStack. To declare a generic type for a method, place the generic type for the method return type, such as void max(E o1, E o2). 8.Bounded generic type such as specifies that a generic type must be a subclass of AClass. 9.When you use generic type without specifying an actual parameter, it is called a raw type. GenericStack is roughly equivalent to GenericStack, but they are not the same. GenericStack is a generic instantiation, but GenericStack is a raw type. 10.? is unbounded wildcard ? extends T is bounded wildcard ? super T is lower bounded wildcard 11.No. Only ArrayList is loaded. 12.Since all instances of a generic class have the same runtime class, the static variables and methods of a generic class is shared by all its instances. Therefore, it is illegal to refer a generic type parameter for a class in a static method or initializer.

单元1_Java语言程序设计基础

电子与信息工程学院 教 学 设 计 2016 ~2017学年第 2 学期 课程名称《Java程序设计》 专业、年级、班级计算机网络16级1/2/3班主讲教师巫锦润

《Java程序设计》课程教学单元设计

任务一:搭建开发环境(2课时) 主要步骤教学内容教学方法教学手段师生活动 引入运行一个Java演示程序,了解学生 对编程认识程度,激发学习热情。 教师运行程序 教师启发 - 教师:演示 学生:思考 告知(教学内容、教学目的)教学内容: 1.Java历史; 2.Java特点; 3.Java实现机制; 4.Java的体系结构; 5.集成环境Eclipse。 教学目的: 1.理解Java实现机制; 2.掌握Java体系结构; 3.掌握安装开发工具JDK; 4.掌握搭建集成环境Eclipse的方 法。 教师启发 讲解 课件演示 教师:讲授 学生:思考 任务简介作为一个开发者在使用任何一种 语言或工具进行开发工作之前都 要配置好开发环境,进行Java程 序开发也不例外。Java Development Kit (JDK) 是Sun公 司针对Java开发员的软件开发工 具包。自从Java推出以来,JDK 已经成为使用最广泛的Java SDK (Software development kit)。 JA V A的开发工具有很多,最简单 的有记事本与控制台的组合,另 外还有 UltraEdit ,JCreator ,Netbeans IDE,Jav ,JBuilder和Eclipse等。在 这些工具当中集成开发环境的使 用都是类似的,在学习过程中只 需要熟练掌握一种的使用方法就 可以了。 讨论归纳课件演示 教师:讲授 学生:思考 任务分析JDK工具包含了编译、运行及调 试Java程序所需要的工具。JDK 是其他Java开发工具的基础。也 就是说,在安装其他开发工具之 前,必须首先安装JDK。 教师演示 课件演示 小组讨论 教师:讲解 演示 学生:思考 参与发言 分组讨论

Java语言程序设计基础篇前三章课后习题

第1章概述Java计算机、程序和1.1(显示三条消息)编写程序,显示Welcome to Java、Welcome to Computer Science。Programming is fun和程序:显示:五次(显示五条消息)编写程序,显示Welcome to Java1.2程序:显示:(显示图案)编写一个程序,显示下面的图案:1.3程序:显示:(打印表格)编写程序,显示以下表格:1.4程序:显示:程序:显示:的结果 1+2+3+4+5+6+7+8+9(数列求和)编写程序,显示1.6. 程序:显示:(近似求π)可以使用以下公式计算π:1.7 1-1/3+1/5-1/7+1/9-1/11+1/13+...)=4x(Π11.0代替编写程序,显示 4x(1-1/3+1/5-1/7+1/9-1/11+1/13...)的结果。在程序中用程序:显示:第2章基本程序设计2.1(将摄氏温度转换为华氏温度)编写程序,从控制台读入 double型的摄氏温度,然后将其转换华氏温度,并显示结果。转换公式如下所示:)摄氏度+32(9/5)*=Fahrenheit-=(9/5)*celsius+32 (华氏度程序:显示:2.2(计算圆柱体的体积)编写程序,读入圆柱体的半径和高,并使用下列公式计算圆柱体的体积πx半径=x半径面积 高x面积=体积 程序:显示:2.3(将英尺转换为米)编写程序,读入英尺数,将其转换为米数并显示结果。一英尺等于米。0.305程序:显示:2.4(将磅转换为千克)编写程序,将磅数转换为千克数。程序提示用户输入磅数,然后转千克。0.4541磅等于换成千克并显示结果。程序:显示:2.5(财务应用程序:计算小费)编写一个程序,读入一笔费用与酬金率,就算酬金和总钱数。例如,如果用户读入10作为费用,15%作为酬金率,计算结果显示酬金为$1.5,总费用$11.5.为程序:显示:2.6(求一个整数各位数的和)编写程序,读取一个在0和1000之间的整数,并将该整数14.,各位数字之和为的各位数字相加。例如:整数是932程序: ::显示2.7(求出年数)编写程序,提示用户输入分钟数(例如十亿)然后显示这些分钟代表多少天。年和多少天。为了简化问题,假设一年有365程序:显示:2.8(求ASCII码对应的字符)编写程序接受一个ASCII码(从0到128的整数),然后显。a示它所代表的字符。例如,如果用户输入的是97,程序显示的是字符程序:显示:2.9(财务应用程序:货币单位)改写程序清单2-10,解决将double型值转换为int型值时可能会造成精度损失的问题。输入的输入值是一个整数,则其后两位代表的是分币值。美分56就表示的是11美元例如:1156程序:显示:,使用图形用户界面进行输入和输出。2-102.10(使用图形用户界面输入)改写程序清单程序:显示:(财务应用程序:工资单)编写程序,读入下列信息并打印工资单:2.11. )雇员的名字(例如Smith)每周工作小时数(例如10)每小时工资(例如6.75)20%联邦所得税税率(例如)9%州所得税税率(例如编写两个版本的程序:(1)使用对话框获取输入并显示输出:程序:显示:(2)使用控制台进行输入和输出:程序:显示:2.12(财务应用程序:计算利息)如果你

java语言程序设计基础篇复习题答案

java语言程序设计基础篇复习题答案【篇一:《java语言程序设计基础教程》(龚永罡_陈昕) 习题答案】 txt>1.9 练习思考题 1、a,b,c 2、d 3、a,b 4 a 5、b 6、开发与运行java程序需要经过的三个主要步骤为 ____________、____校验________和___解释执行____。 7、如果一个java applet源程序文件只定义有一个类,该类的类名为myapplet,则类myapplet必须是类的子类并且存储该源程序文件的文件名为。 8、如果一个java applet程序文件中定义有3个类,则使用sun 公司的jdk编译器编译该源程序文件将产生___3___个文件名与类名相同而扩展名为__class____的字节码文件。 11、编写一个简单的java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习java”和“we are students”。 解答: class myfirstjava{ public static void main(string args[]){ system.out.println(“你好,很高兴学习java”); system.out.println(“we are students”); } } 第2章 java基本的程序设计结构 2.7练习思考题 1、a,b,d 2、C 3、a 4、b 5、d 6、d,f 7、b 8、d 9、d 10、a 11、D12、a 13、B 14、c15、d16、a 17、在java的基本数据类型中,char型采用unicode编码方案,每个unicode码占用字节内存空间,这样,无论是中文字符还是英文字符,都是占用字节内存空间。 18、设 x = 2 ,则表达式 ( x + + )/3 的值是。 19、若x = 5,y = 10,则x y和x = y的逻辑值分别为和。 20、设有数组定义: int myintarray[] = { 10, 20, 30, 40, 50, 60, 70 };

Java语言程序设计基础教程习题解答

《Java语言程序设计基础教程》 练习思考题参考答案

第1章Java程序设计概述 1.9 练习思考题 1、Java运行平台包括三个版本,请选择正确的三项:() A. J2EE B. J2ME C. J2SE D. J2E 解答:A,B,C 2、Java JDK中反编译工具是:() A. javac B. java C. jdb D.javap 解答:D 3、public static void main方法的参数描述是:() A. String args[] B. String[] args C. Strings args[] D. String args 解答:A,B 4、在Java中,关于CLASSPATH环境变量的说法不正确的是:() A. CLASSPATH一旦设置之后不可修改,但可以将目录添加 到该环境变量中。

B. 编译器用它来搜索各自的类文件。 C. CLASSPATH是一个目录列表。 D. 解释器用它来搜索各自的类文件。 解答:A 5、编译Java Application源文件将产生相应的字节码文件,扩展名为() A. .java B. .class C. .html D. .exe 解答:B 6、开发及运行Java程序需要经过的三个主要步骤为____________、____________和____________。 7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。 8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生______个文件名及类名相同而扩展名为______的字节码文件。 9、开发及运行Java程序需要经过哪些主要步骤和过程? 10、Java程序是由什么组成的?一个程序中必须要有public类

java语言程序设计基础篇第十版第十四章练习答案

01 import javafx、application、Application; import javafx、geometry、Pos; import javafx、scene、Scene; import javafx、scene、layout、GridPane; import javafx、stage、Stage; import javafx、scene、image、ImageView; public class Exercise14_01 extends Application { @Override // Override the start method in the Application class public void start(Stage primaryStage) { GridPane pane = new GridPane(); pane、setAlignment(Pos、CENTER); pane、setHgap(5); pane、setVgap(5); ImageView imageView1 = new ImageView("image/uk、gif"); ImageView imageView2 = new ImageView("image/ca、gif"); ImageView imageView3 = new ImageView("image/china、gif"); ImageView imageView4 = new ImageView("image/us、gif"); pane、add(imageView1, 0, 0); pane、add(imageView2, 1, 0); pane、add(imageView3, 0, 1); pane、add(imageView4, 1, 1); // Create a scene and place it in the stage Scene scene = new Scene(pane); primaryStage、setTitle("Exercise14_01"); // Set the stage title primaryStage、setScene(scene); // Place the scene in the stage primaryStage、show(); // Display the stage } /** * The main method is only needed for the IDE with limited * JavaFX support、Not needed for running from the command line、*/ public static void main(String[] args) { launch(args); } } 02 import javafx、application、Application; import javafx、geometry、Pos; import javafx、scene、Scene; import javafx、scene、layout、GridPane; import javafx、stage、Stage; import javafx、scene、image、ImageView; import javafx、scene、image、Image;

Java语言程序设计(基础篇)原书第十一版 梁勇 第4章 课后题答案

4.11十进制准十六进制 package pro0910; import java.util.Scanner; public class DemoA { public static void main(String[] args) { Scanner in=new Scanner(System.in); System.out.print("请输入一个0~15之间的整数:"); int num=in.nextInt(); if (num<0||num>15){ System.out.print("请输入正确数字!!!"); }else if (num<10){ System.out.print(num); }else if (num==10){ System.out.print("A"); }else if (num==11){ System.out.print("B"); }else if (num==12){ System.out.print("C"); }else if (num==13){ System.out.print("D"); }else if (num==14){ System.out.print("E"); }else if (num==15){ System.out.print("F"); } } } 4.14转换字母等级为数字 package pro0910; import java.util.Scanner; public class DemoB { public static void main(String[] args) { Scanner in=new Scanner(System.in); System.out.print("请输入字母等级:"); String ch=in.next(); if (ch.equals("A")){ System.out.print("等级为:4"); }else if (ch.equals("B")){System.out.print("等级为:3"); }else if (ch.equals("C")){System.out.print("等级为:2"); }else if (ch.equals("D")){System.out.print("等级为:1"); }else System.out.print("请输入正确字母等级!!!"); } }

Java语言程序设计基础篇前三章课后习题

Java概述 第1章计算机、程序和 (显示三条消息)编写程序,显示Welcome to Java、Welcome to Computer Science和Programming is fun。 程序: 显示: (显示五条消息)编写程序,显示Welcome to Java五次 程序: . 显示: (显示图案)编写一个程序,显示下面的图案:

程序: 显示: ^ (打印表格)编写程序,显示以下表格: 程序:

显示: ~ (计算表达式)编写程序,显示()/(的结果 程序: 显示: (数列求和)编写程序,显示1+2+3+4+5+6+7+8+9的结果 程序: , 显示: (近似求π)可以使用以下公式计算π: Π=4x(1-1/3+1/5-1/7+1/9-1/11+1/13+...) 编写程序,显示4x(1-1/3+1/5-1/7+1/9-1/11+1/13...)的结果。在程序中用代替1程序: 显示:

| 第2章基本程序设计 (将摄氏温度转换为华氏温度)编写程序,从控制台读入double型的摄氏温度,然后将其转换华氏温度,并显示结果。转换公式如下所示: Fahrenheit-=(9/5)*celsius+32 (华氏度=(9/5)*摄氏度+32) 程序: 显示: ( (计算圆柱体的体积)编写程序,读入圆柱体的半径和高,并使用下列公式计算圆柱体的体积 面积=半径x半径xπ 体积=面积x高 程序:

显示: (将英尺转换为米)编写程序,读入英尺数,将其转换为米数并显示结果。一英尺等于米。. 程序: 显示: (将磅转换为千克)编写程序,将磅数转换为千克数。程序提示用户输入磅数,然后转换成千克并显示结果。1磅等于千克。 程序: 显示: …

《Java语言程序设计基础教程》习题解答 (1)

第1章 Java程序设计概述 1.9 练习思考题 1、Java运行平台包括三个版本,请选择正确的三项:() A. J2EE B. J2ME C. J2SE D. J2E 解答:A,B,C 2、Java JDK中反编译工具是:() A. javac B. java C. jdb D. javap 解答:D 3、public static void main方法的参数描述是:() A. String args[] B. String[] args C. Strings args[] D. String args 解答:A,B 4、在Java中,关于CLASSPA TH环境变量的说法不正确的是:() A. CLASSPA TH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B. 编译器用它来搜索各自的类文件。 C. CLASSPA TH是一个目录列表。 D. 解释器用它来搜索各自的类文件。 解答:A 5、编译Java Application源文件将产生相应的字节码文件,扩展名为() A. .java B. .class C. .html D. .exe 解答:B 6、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。 7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。 8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生______个文件名与类名相同而扩展名为______的字节码文件。 9、开发与运行Java程序需要经过哪些主要步骤和过程? 10、Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎么样的? 11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很

java语言程序设计基础篇第8版课后答案.doc

java 语言程序设计基础篇第8 版课后答 案 【篇一:java 语言程序设计基础篇第八章第十题编程参 考答案】 icequation 的类。这个类包括:代表三个系数的私有数据域a、b、 c。一个参数为a、b、c 的构造方法。a、b、c 的三个get 方法。 一个名为getdiscriminant() 的方法返回判别式,b2-4ac 。一个名为 getroot1() 和getroot2() 的方法返回等式的两个根。这些方法只有在 判别式为非负数时才有用。如果判别式为负,方法返回0。画出该 类的uml 图。实现这个类。编写一个测试程序,提示用户输入a、b、c 的值,然后显示判别式的结果。如果判别式为正数,显示两个根; 如果判别式为0,显示一个根;否则,显示“the equation has no roots ”。 代码: class quadraticequation{ private int a,b,c; quadraticequation(){ } public quadraticequation(int a,int b,int c){ this.a=a; this.b=b; this.c=c; } public int geta(){ return a; } public int getb(){ return b; } public int getc(){ return c; } public int getdiscriminant(){ if(b*b-4*a*c=0) return b*b-4*a*c;

else return 0; } public int getroot1(){ if(b*b- 4*a*c=0) return (int)((-b+math.pow(b*b-4*a*c, 0.5))/(2*a)); else return 0; } public int getroot2(){ if(b*b- 4*a*c=0) else return 0; } } public class xiti810 { public static void main(string[] args){ system.out.println( 请输入要计算的方程的系数a、b 和 c:);java.util.scanner input =new java.util.scanner(system.in);system.out.print(a=); int a=input.nextint(); system.out.print(b=); int b=input.nextint(); system.out.print(c=); int c=input.nextint(); quadraticequation q=new quadraticequation(a,b,c); q.getdiscriminant(); if(q.getdiscriminant()0) system.out.println( 它们的根为:+q.getroot1()+ 和+q.getroot2()); else if(q.getdiscriminant()==0) system.out.println( 此方程只有一个根为:+q.getroot1()); else system.out.println( 方程无解); } } 【篇二:java 语言程序设计(第8 版)第5 章完整答案programming exercises( 程序练习题)答案完整版】 class exercise01 {

相关文档
最新文档