
正文
java加油代码 java加减法代码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
JAVA 加油站停靠问题 递归方法
package com;
import java.util.Arrays;
public class Exam
{
/**
* 递归算法写出,到达B地必须要停靠的加油站br /
*
* @param d
* 汽车加满油最多行驶d米
* @param current
* 从哪个加油站开始出发
* @param D
* int[] D[i] 表示加油站Gi到Gi+1之间的距离
* @param G
* 最终返回一个数组,将必须停靠的加油站Gi存放在G[]
*/
private static int[] get(int d, int current, int[] D, int[] G)
{
// 最多可以过多少个加油站
int s = 0;
for(int i = current; i D.length - 1; i++)
{
// 如果剩余的油量不够走到下一个加油站
// 就必须在这个加油站加油
if(d - s D[i + 1])
{
// 第i个加油站必须加油
current = i;
// 用1代表要停靠的加油站,0代表不用停靠加油
G[i] = 1;
// 剩下的油量还可以走多少米
int x = d - s;
// 加油后可以走多少米
d = d + x;
get(d, current, D, G);
break;
}
s += D[i];
}
return G;
}
public static void main(String[] args)
{
int n = 10;
int[] G = new int[n];
int d = 800;
int[] D = new int[n - 1];
for(int i = 0; i D.length; i++)
{
// 随机出每2个加油站的距离,要小于d
D[i] = (int) (Math.random() * (d - 100)) + 100;
}
System.out.format("随机出每个加油站之间的距离:%s%n", Arrays.toString(D));
G = get(d, 0, D, G);
System.out.format("必须停靠的加油站:%s", Arrays.toString(G));
}
}
相关问答
Q1: java练习题求完整代码
按照题目要求编写的用javaBean规范设计的学生类Student的Java程序如下
需要创建user.java.test包,把Student.java文件和Test.java文件放入包中,编译Student.java文件并且编译运行Test.java文件得到运行结果
Student.java文件代码如下
package user.java.test;
import java.io.Serializable;
public class Student implements Serializable{
private static final long serialVersionUID = 1L;
private String no;
private String name;
private double score;
public Student(){}
public Student(String no,String name,double score){
this.no=no;
this.name=name;
this.score=score;
}
public String getNo(){ return no;}
public void setNo(String no){ this.no=no;}
public String getName(){ return name;}
public void setName(String name){ this.name=name;}
public double getScore(){ return score;}
public void setScore(double score){ this.score=score;}
public String toString(){
return "学号:"+no+",姓名:"+name+",成绩:"+score;
}
public static double getAvg(Student[] sArray){
double sum=0,avg;
for(int i=0;isArray.length;i++){
sum=sum+sArray[i].getScore();
}
avg=sum/sArray.length;
return avg;
}
}
Test.java文件代码如下
package user.java.test;
public class Test{
public static void main(String[] args){
Student[] sArray=new Student[5];
sArray[0]=new Student("001","张三",89.5);
sArray[1]=new Student("002","李四",82.5);
sArray[2]=new Student("003","王五",93);
sArray[3]=new Student("004","赵六",73.5);
sArray[4]=new Student("005","孙七",66);
System.out.println("这些学生的平均分:"+Student.getAvg(sArray));
for(int i=0;isArray.length;i++){
System.out.println(sArray[i].toString());
}
}
}
Q2: 用swing编写一个java抽奖的程序,至少有5个按钮,显得高大上一点。
#8205;
import java.awt.Color;//界面不是很高大上档次,但是能满足你的基本需求,希望对你有用
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.border.Border;
import javax.swing.border.LineBorder;
public class 抽奖游戏 extends JFrame {
static 抽奖游戏 frame;
public 抽奖游戏() {
setLayout(new GridLayout(3, 3, 3, 3));
Border border = new LineBorder(Color.BLUE, 4);
JButton l1 = new JButton();
JButton l2 = new JButton();
JButton l3 = new JButton();
JButton l4 = new JButton();
JButton l5 = new JButton();
JButton l6 = new JButton();
JButton l7 = new JButton("祝你好运");
JButton l8 = new JButton("中奖规则");
JButton l9 = new JButton("再次抽奖");
l1.setBorder(border);
l2.setBorder(border);
l3.setBorder(border);
l4.setBorder(border);
l5.setBorder(border);
l6.setBorder(border);
l7.setBorder(border);
l8.setBorder(border);
l9.setBorder(border);
String[] num2 = { "1", "2", "3", "4", "5", "6" };
l8.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
JOptionPane.showMessageDialog(null, "游戏规则:\n" + "特等奖:\n"
+ "第一行或者第二行出现的数字全部相同\n"
+ "第一第二行出现升序的1,2,3,4,5,6或者降序的6,5,4,3,2,1\n" + "一等奖\n"
+ "1:第一行或第二行的数字降序排列或者升序排列\n"
+ "2:第一行或者第二行相邻的按钮出现一样的数字\n");
}
});
l9.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
l1.setText("*");
l2.setText("*");
l3.setText("*");
l4.setText("*");
l5.setText("*");
l6.setText("*");
l7.setBackground(Color.lightGray);
l7.setText("离中奖不远了!");
}
});
l6.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
int j1 = (int) (Math.random() * 10) % 6;
l1.setText(num2[j1]);
int j2 = (int) (Math.random() * 10) % 6;
l2.setText(num2[j2]);
int j3 = (int) (Math.random() * 10) % 6;
l3.setText(num2[j3]);
int j4 = (int) (Math.random() * 10) % 6;
l4.setText(num2[j4]);
int j5 = (int) (Math.random() * 10) % 6;
l5.setText(num2[j5]);
int j6 = (int) (Math.random() * 10) % 6;
l6.setText(num2[j6]);
if (j1 == j2 j2 == j3 || j4 == j5 j5 == j6 || j1 == 1
j2 == 2 j3 == 3 j4 == 4 j5 == 5 j6 == 6
|| j1 == 6 j2 == 5 j3 == 4 j4 == 3 j5 == 2
j6 == 1) {
l7.setBackground(Color.red);
l7.setText("特等奖");
} else if (j1 j2 j2 j3 || j3 j2 j2 j1 || j4 j5
j5 j6 || j6 j5 j5 j4 || j1 == j2
j5 == j4 || j1 == j2 j5 == j6 || j3 == j2
j4 == j5 || j5 == j6 j2 == j3) {
l7.setBackground(Color.YELLOW);
l7.setText("一等奖");
} else {
l7.setBackground(Color.lightGray);
l7.setText("未中奖,加油!");
}
}
});
l5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
int j1 = (int) (Math.random() * 10) % 6;
l1.setText(num2[j1]);
int j2 = (int) (Math.random() * 10) % 6;
l2.setText(num2[j2]);
int j3 = (int) (Math.random() * 10) % 6;
l3.setText(num2[j3]);
int j4 = (int) (Math.random() * 10) % 6;
l4.setText(num2[j4]);
int j5 = (int) (Math.random() * 10) % 6;
l5.setText(num2[j5]);
int j6 = (int) (Math.random() * 10) % 6;
l6.setText(num2[j6]);
if (j1 == j2 j2 == j3 || j4 == j5 j5 == j6 || j1 == 1
j2 == 2 j3 == 3 j4 == 4 j5 == 5 j6 == 6
|| j1 == 6 j2 == 5 j3 == 4 j4 == 3 j5 == 2
j6 == 1) {
l7.setBackground(Color.red);
l7.setText("特等奖");
} else if (j1 j2 j2 j3 || j3 j2 j2 j1 || j4 j5
j5 j6 || j6 j5 j5 j4 || j1 == j2
j5 == j4 || j1 == j2 j5 == j6 || j3 == j2
j4 == j5 || j5 == j6 j2 == j3) {
l7.setBackground(Color.YELLOW);
l7.setText("一等奖");
} else {
l7.setBackground(Color.lightGray);
l7.setText("未中奖,加油!");
}
}
});
l4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
int j1 = (int) (Math.random() * 10) % 6;
l1.setText(num2[j1]);
int j2 = (int) (Math.random() * 10) % 6;
l2.setText(num2[j2]);
int j3 = (int) (Math.random() * 10) % 6;
l3.setText(num2[j3]);
int j4 = (int) (Math.random() * 10) % 6;
l4.setText(num2[j4]);
int j5 = (int) (Math.random() * 10) % 6;
l5.setText(num2[j5]);
int j6 = (int) (Math.random() * 10) % 6;
l6.setText(num2[j6]);
if (j1 == j2 j2 == j3 || j4 == j5 j5 == j6 || j1 == 1
j2 == 2 j3 == 3 j4 == 4 j5 == 5 j6 == 6
|| j1 == 6 j2 == 5 j3 == 4 j4 == 3 j5 == 2
j6 == 1) {
l7.setBackground(Color.red);
l7.setText("特等奖");
} else if (j1 j2 j2 j3 || j3 j2 j2 j1 || j4 j5
j5 j6 || j6 j5 j5 j4 || j1 == j2
j5 == j4 || j1 == j2 j5 == j6 || j3 == j2
j4 == j5 || j5 == j6 j2 == j3) {
l7.setBackground(Color.YELLOW);
l7.setText("一等奖");
} else {
l7.setBackground(Color.lightGray);
l7.setText("未中奖,加油!");
}
}
});
l3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
int j1 = (int) (Math.random() * 10) % 6;
l1.setText(num2[j1]);
int j2 = (int) (Math.random() * 10) % 6;
l2.setText(num2[j2]);
int j3 = (int) (Math.random() * 10) % 6;
l3.setText(num2[j3]);
int j4 = (int) (Math.random() * 10) % 6;
l4.setText(num2[j4]);
int j5 = (int) (Math.random() * 10) % 6;
l5.setText(num2[j5]);
int j6 = (int) (Math.random() * 10) % 6;
l6.setText(num2[j6]);
if (j1 == j2 j2 == j3 || j4 == j5 j5 == j6 || j1 == 1
j2 == 2 j3 == 3 j4 == 4 j5 == 5 j6 == 6
|| j1 == 6 j2 == 5 j3 == 4 j4 == 3 j5 == 2
j6 == 1) {
l7.setBackground(Color.red);
l7.setText("特等奖");
} else if (j1 j2 j2 j3 || j3 j2 j2 j1 || j4 j5
j5 j6 || j6 j5 j5 j4 || j1 == j2
j5 == j4 || j1 == j2 j5 == j6 || j3 == j2
j4 == j5 || j5 == j6 j2 == j3) {
l7.setBackground(Color.YELLOW);
l7.setText("一等奖");
} else {
l7.setBackground(Color.lightGray);
l7.setText("未中奖,加油!");
}
}
});
l2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
int j1 = (int) (Math.random() * 10) % 6;
l1.setText(num2[j1]);
int j2 = (int) (Math.random() * 10) % 6;
l2.setText(num2[j2]);
int j3 = (int) (Math.random() * 10) % 6;
l3.setText(num2[j3]);
int j4 = (int) (Math.random() * 10) % 6;
l4.setText(num2[j4]);
int j5 = (int) (Math.random() * 10) % 6;
l5.setText(num2[j5]);
int j6 = (int) (Math.random() * 10) % 6;
l6.setText(num2[j6]);
if (j1 == j2 j2 == j3 || j4 == j5 j5 == j6 || j1 == 1
j2 == 2 j3 == 3 j4 == 4 j5 == 5 j6 == 6
|| j1 == 6 j2 == 5 j3 == 4 j4 == 3 j5 == 2
j6 == 1) {
l7.setBackground(Color.red);
l7.setText("特等奖");
} else if (j1 j2 j2 j3 || j3 j2 j2 j1 || j4 j5
j5 j6 || j6 j5 j5 j4 || j1 == j2
j5 == j4 || j1 == j2 j5 == j6 || j3 == j2
j4 == j5 || j5 == j6 j2 == j3) {
l7.setBackground(Color.YELLOW);
l7.setText("一等奖");
} else {
l7.setBackground(Color.lightGray);
l7.setText("未中奖,加油!");
}
}
});
l1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
int j1 = (int) (Math.random() * 10) % 6;
l1.setText(num2[j1]);
int j2 = (int) (Math.random() * 10) % 6;
l2.setText(num2[j2]);
int j3 = (int) (Math.random() * 10) % 6;
l3.setText(num2[j3]);
int j4 = (int) (Math.random() * 10) % 6;
l4.setText(num2[j4]);
int j5 = (int) (Math.random() * 10) % 6;
l5.setText(num2[j5]);
int j6 = (int) (Math.random() * 10) % 6;
l6.setText(num2[j6]);
if (j1 == j2 j2 == j3 || j4 == j5 j5 == j6 || j1 == 1
j2 == 2 j3 == 3 j4 == 4 j5 == 5 j6 == 6
|| j1 == 6 j2 == 5 j3 == 4 j4 == 3 j5 == 2
j6 == 1) {
l7.setBackground(Color.red);
l7.setText("特等奖");
} else if (j1 j2 j2 j3 || j3 j2 j2 j1 || j4 j5
j5 j6 || j6 j5 j5 j4 || j1 == j2
j5 == j4 || j1 == j2 j5 == j6 || j3 == j2
j4 == j5 || j5 == j6 j2 == j3) {
l7.setBackground(Color.YELLOW);
l7.setText("一等奖");
} else {
l7.setBackground(Color.lightGray);
l7.setText("未中奖,加油!");
}
}
});
Font font = new Font("", Font.BOLD, 20);
l1.setFont(font);
l2.setFont(font);
l3.setFont(font);
l4.setFont(font);
l5.setFont(font);
l6.setFont(font);
l7.setFont(font);
l8.setFont(font);
l9.setFont(font);
add(l1);
add(l2);
add(l3);
add(l4);
add(l5);
add(l6);
add(l7);
add(l8);
add(l9);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
frame = new 抽奖游戏();
frame.setTitle("抽奖大战");
frame.setSize(500, 500);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Q3: 学习java 遇到的困难 求助! 我学习代码没有全局观 求有代码全局观的高手帮助我
Thinking in java 是本好书啊,不过不太适合刚学的人,JAVA核心技术可以,孙卫琴也有一本JAVA的书很适合初学者。
我也说说封装,所谓封装是指:把类的属性隐藏起来,使别人不能直接访问,只能通过一定的方法才能访问,这样我们就可以在方法上进一步对访问进行控制。
就你给的这个例子看,我们在一个新类里作如下操作
AAA tempA = new AAA();
//下面的两个方法是不能运行的,因为AAA中声明age,name为private,所以其
//它类不能直接访问
//System.out.println(tempA.age);
//System.out.println(tempA.name);
//但我们可以这样访问
System.out.println(tempA.getAge());
System.out.println(tempA.getName());
//因为这两个访问age,name的方法在AAA中声明为public,所以其它类可以直
//接调用,从而间接访问到tempA里的age,name这两个私有属性。也正因为这
//样我们就可以在这两个方法上做一些操作以达到我们的逻辑要求。
至于运行,一个类如果想运行,必须有一个方法public static void main(){}
所以,你的这个类是不能运行的。
声明过main方法后,可以用"java 类名" 来运行(也可以用一些IDE来运行)!
运行的细节,你可以在看过Thinking in java 后体会,我们也可以再交流
有问题就HI我吧,我在复习这些知识:)
Q4: 对于java项目,我虽然知道业务逻辑但是还是不知道怎么写出代码 ,原因在哪 ?
其实java加油代码你已经很好了,java加油代码我认为写程序首先要有自己的思路,其次才是看你真正掌握的技能...比如一艘船如果有足够大的马力,但是缺少正确的方向..那样子会装上暗礁的,所以在编程方面业务逻辑是很重要的,接下来只要有一般的技能基础就可以了;
就拿你说的修改密码来说吧java加油代码:第一步:我首先要知道要修改人的ID,然后才能按照一定的方法修改数据库中的表:一个update user set user_password=“要修改的密码” where user_id=“指定修改人的ID” 再加上一定的连接数据库的方法..程序员修改密码的目的就达到了...加油!
Q5: 我装了JAVA 我在命令提示符里面 输入java 可以.但是输入javac就不行了.
很多人不能够很好的进行JAVA编程,原因就在于对JAVA运行环境的不了解或是了解得不够透彻。如果连一个普通的JAVA程序运行环境都搭建不好。就更不要说理解J2EE的运行环境搭建了。故本文首先介绍如何搭建普通JAVA程序的运行环境,再介绍如何在这个基础上进一步搭建J2EE运行环境。
一、什么是JDK?
学JAVA的人都应该知道SUN公司的JAVA 技术平台按其应用环境的不同有三个非常著名的版本,他们是J2SE(用于普通桌面应用程序的开发),J2EE(用于企业级应用程序的开发)和J2ME(用于移动设备及其他消费类电子产品的应用程序开发),SUN公司为这三个版本分别提供了相应的开发工具包(SDK:SoftWare Development Kits),下载的网址在,不过可能因为全世界太多人登录的原故,网页经常出现打不开的现象,其实大家在国内一些常用的资料下载网站同样可以DOWN到这些工具包的。在此不一一列举了。顺便提一下J2SE和J2EE目前最新的SDK版本是:
● J2SE 5.0 JDK
● J2EE 1.4 SDK
值得一提的是我们通常所说的JDK工具包指的是J2SE的SDK。目前一般学习者用得最多的也就是这个工具包了。大家还要注意一点,SUN公司为不同的操作系统提供了不同的JDK文件,而且这些文件又有脱机版(OFFLINE)与在线安装版(ONLINE)之分,所以在下载的时候要注意选择正确的文件。
那么JDK这个工具包里到底有些什么东东呢?其实这里面包括了JAVA程序的开发工具(JAVAC命令等)、运行环境(JAVA命令等)和核心类包。可想而知要想运行JAVA程序。就必须安装好JDK工具包。
二、如何安装JDK?
当我们从网络上DOWN下J2SE 5.0 JDK以后(是一个可执行文件,文件名叫做jdk-1_5_0-windows-i586.exe,当然这个名字会因为对应操作系统的不同而有所区别的,我使用的操作系统就是WINDOWS,大家发现了吗?),双击他就开始安装了。需要注意的就是选择安装路径的问题,通常我们将它安装在C盘根目录下(这也是安装程序默认的路径),其他的工作就是一个接一个地按NEXT啦。
三、搭建运行和开发环境
是不是当我们装完JDK以后就可以编写代码,准备编译运行了呢?别忙。大家还是跟着我一起检查一下吧:
1、 点击操作系统桌面上左下角的‘开始’菜单,选择‘运行’,然后在打开对话框里输入CMD,看到了吧,我们进入了命令提示符窗口,我们爱叫他DOS界面。
2、 现在大家在窗口里应该看到提示符了吧,通常会是这样:C:\Documents and Settings\Administrator
3、 下面让我们在提示符后面敲上这样一个命令:JAVA,出现了这样的提示了吗?
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
……
这是JAVA命令的帮助信息,如果有,那么成功一半了。
4、 接下来,继续试一下:在命令提示符处敲:JAVAC。同样也出现了JAVAC的命令帮助提示了吗?我想应该没有吧。你看到的也许会是这样: ‘javac’不是内部或外部命令,也不是可运行的程序或批处理文件。
为什么出现这样的情况呢?
这是因为我们的操作系统在执行一个命令时,首先会到当前目录下去查找这个命令文件。如果在当前目录下找不到,他就会按照系统变量PATH所指示的多条路径里去搜索,直到找到为止。如果在这两个地方都找不到他就会报上面大家看到的错误。
在C:\Documents and Settings\Administrator这个路径下我们当然找不到JAVAC命令啦。我们的JDK不是安装在C盘根目录下吗?而我们的JAVAC、JAVA命令则在JDK目录下的BIN文件夹里,这个夹子里还有许多其他宝贝命令。如下图所示:
怎样才能让操作系统找到JAVAC命令呢?很简单!我们需要修改一下系统变量PATH,这样就不用每次要运行这个命令时都得跑到C:\j2sdk1.4.2_02\bin这个路径下面去了。怎样修改PATH,我们在第四个专题里来介绍。
5、 当我们在PATH变量里加了一条路径:C:\j2sdk1.4.2_02\bin以后,再到命令提
示符状态下输入JAVAC,就会出现帮助提示了。这就说明我们可以开始写JAVA程序了。
6、 让我们写一个Hello.java测试一下吧,我在E:\LESSON1这个文件夹下创建
了一个文本文件,输入如下一段代码,并且将之保存为Hello.java。
public class Hello
{
public static void main(String args[])
{
System.out.println("Hello World!");
}
}
7、 好现在我们又回到命令提示符状态下。在提示符处输入:JAVAC Hello.java,命
令又出错了。为什么?因为文件是建在E:\LESSON1下面,而我们的当前目录却不是它。在提示符处敲入:‘E:’,然后再敲:‘cd lesson1’,进入JAVA文件所在的那个目录后,现在再敲JAVAC Hello.java,文件成功编译。注意成功编译后会在当前目录下生出一个名叫:Hello.class的字节码文件。但是屏幕上没有任何提示。
8、 再试着运行一下‘java Hello‘这个命令,可以运行吗?当然不行。为什么,
因为我们的字节码文件是在JAVA虚拟机里运行的,所有关于虚拟机要使用的字节码文件的路径必须在一个叫做CLASSPATH的操作系统变量里找得到。否则我们的虚拟机就无法找到这个字节码文件,从而也就无从执行了。
9、 怎么办?先运行如下命令:set classpath=%classpath%;E:\lesson1,然后再运
行 java Hello 这个命令。屏幕上终于出现了亲切的问候:Hello world!
不过奇怪的事情又发生了。当我们重新启动一个命令提示符窗口再运行这个JAVA文件时,又无法执行了,屏幕提示:Exception in thread "main" java.lang.NoClassDefFoundError: Hello。还是老问题,虚拟机又找不到字节码文件了。WHY?其实我们在DOS窗口中设置的系统变量只对当前窗口有效。要想让我们的变量设置对任何一个DOS窗口都有效,还得到桌面上去做。我们仍然将在第四个专题里讲述CLASSPATH这个JAVA环境变量的设置。
四、PATH系统变量与CLASSPATH环境变量的设置
为什么需要设置PATH和CLASSPATH变量我们在前面的专题已经介绍过了。下面我们讲一下具体如何设置:
1、 右键单击我的电脑,选‘属性’菜单,在弹出的对话框里选择‘高级‘选项卡。然后在高级选项卡页按下‘环境变量’按钮。
2、 在弹出的环境变量窗口里我们将会看到它分为两个部分。一部分是谁谁用户的变量,如:Administrator的用户变量。一部分是系统变量。通常情况下我们在命令提示符下能够使用的变量数目是用户变量+系统变量数目之和。那我们不管用户变量。直接到系统变量格里去寻找PATH变量吧。通常情况下系统装好后PATH变量在这里是早就存在了的。但是CLASSPATH变量则没有。
环境变量窗口见图示:
3、 找到PATH变量后,双击这个变量名称后,将会弹出编辑系统变量窗口。将光标停到变量值对话框的最后,然后加上‘;C:\j2sdk1.4.2_02\bin ’。注意分号后的路径就是JAVA和JAVAC命令所在的路径。见图示:
4、 找不到CLASSPATH变量该怎么办呢?很简单。按下系统变量框下的新建按钮。然后在弹出的新建系统变量对话框里输入你要加的变量名称:CLASSPATH,在变量值对话框里输入你要运行的字节码文件所在的路径。如图示:
大家在以后的学习中会发现,只要是虚拟机运行所需的字节码文件(即类文件),包括SUN公司提供给我们的类。都需要将这些文件所在的路径放到CLASSPATH下。否则,程序在编译过程中会经常找不着所需要的类包。那可是很头疼的事。比如说:JDK安装目录下的LIB目录下就有许多*.jar文件。当我们的程序要使用到这些压缩文件里的类时,就需要把这些文件所在的路径加到CLASSPATH里,比如说:C:\j2sdk1.4.2_02\lib\dt.jar。
注意添加*.jar包和直接添加*.class文件的路径是有一点小小区别的,前者要包含JAR包的名字。而后者只需文件路径。
五、J2EE运行环境的搭建
开发企业级的应用程序需要搭建好J2EE的运行环境。其实也就是到SUN公司的网站上去DOWN下J2EE 1.4 SDK开发工具包。然后双击安装文件,如果你下载的版本与我的一样。那么这个安装文件就会是这个名字:j2eesdk-1_4-dr-windows-eval.exe。同样的我们也将J2EE SDK安装在C盘根目录下。
需要特别提醒大家的是:J2EE运行环境的搭建是以J2SE运行环境的搭建为基础的。其实想也想得到为什么。如果没有JDK,哪里来的编译和运行命令呢(JAVA和javac)。安装完J2EE 1.4 SDK包后,具体的设置与测试步骤如下:
1、 首先右往PATH变量里添加J2EE SDK的BIN目录。如:C:\j2sdkee1.3.1\bin。如何往里面添加,前面已经讲过。
2、 然后新建两个变量:一个是JAVA_HOME,变量值为:JDK的安装目录。另一个是J2EE_HOME,变量值为J2EE SDK的安装目录。如图示:
3、 最后往CLASSPATH变量里添加一个关键的JAR包。它就是J2EE.JAR包。比如我添加的就是:C:\j2sdkee1.3.1\lib\j2ee.jar。
4、 所有的工作做完以后。大家可以通过以下方式验证一下我们的J2EE环境是否已经搭建成功。在命令提示符状态下输入命令:J2EE -Verbose。如果屏幕的最下面看到了这样一句话J2EE server startup complete.那就表示J2EE服务器成功启动了。在我们的J2EE程序要布署和运行的过程中。服务器将一直启动着。
另外提一下,如果你需要停止J2EE服务器,必须再开一个命令窗口,并运行如下命令:J2EE ?STOP。成功运行后,将会有提示语句。再去看看启动服务器的那个窗口,你将可以看到提示符了。
5、 这样做了还不够,我们还需要到网页里去测试一下服务器默认页面是否能够正常显示,这样才能保证我们能够进WEB程序的开发。双击IE浏览器的图标,在地址栏里输入:,如果你能看到以下窗口中的内容,那就说明你的J2EE环境已经搭建成功。需要说明一点,在localhost:后的是J2EE服务器提供的WEB服务端口号。
需要提醒大家的是:当你打开网页之前,确认你的J2EE服务器是启动着的。如果你机器上没有安装网卡,或是网卡安装不正确,也会导致无法打开J2EE服务器默认页面。
六、在JCreater中开发程序需做的配置
大多数初学者使用的的集成开发环境都是Jcreator。这是一个很适合学习者使用的开发工具。但是使用时需注意以下几点:
1、 最好是先装好J2SE SDK和J2EE SDK之后再去安装Jcreator。这样关于JDK的设置Jcreator会自动完成。
2、 那如果不幸先装了Jcreator,后装的JDK也不要紧。可以这样做,完成配置:选择’Configure’菜单。选择Options菜单:如图示
然后选中JDK Profiles。点击NEW按钮,弹出如下对话框:
选中J2sdk1.4.2_02目录。然后点击确定按钮。
接下来将会弹出下面的对话框:
我们会发现这个目录下及子目录下几乎所有的JAR包都在窗口里显示出来了。这样就不怕JAVA虚拟机找不到所需的类了。再点OK吧。
回到OPTIONS窗口继续点OK就回到Jcreator的主界面了。
3、 上面的工作做完以后我们进行普通JAVA程序的开发是没有问题了。不过要进行企业级开发。还得加几个JAR包。重新打开上面看到的Options窗口。选择JDK Profiles,选中J2SDK1.4.2_02,再点击EDIT按钮。
将会弹出PROFILES窗口,点击ADD按钮。选择ADD ARCHIVE选项。在弹出的对话框里选择J2EE SDK的安装路径,并且进入LIB目录。选中所有的JAR文件。如图示:
点击打开按钮。OK两次后回到Jcreator主界面下。
做完这件事后我们可以在JCREATOR中写J2EE代码了。
到这里,JAVA和J2EE运行环境的搭建就介绍完了。大家开始加油编写代码吧。告诉大家学习JAVA和J2EE唯一的办法就是敲代码,唯有抄代码抄出心得以后,你才可以写出自己的漂亮的程序。
java加油代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java加减法代码、java加油代码的信息别忘了在本站进行查找喔。







