其实 很简单:
==比较两个数是否是同一对象即同一地址,而equals则比较两个是否是同一个字符,或者是同一数值。。。。
如果你还不明白,请看以下代码:
package Duixiang;
public class First {
public static void main(String args[]){
String str1="abc";
String str2=new String("abc");
String str3=str2;
System.out.println(str1==str2);//"=="比较两个数是否是同一个对象,同一对象
System.out.println(str2==str3);
System.out.println(str1.equals(str2));//equals比较两数是否是相同
System.out.println(str2.equals(str3));
System.out.println(str1.equals(str3));
}
}
执行结果:
posted @
2010-11-06 22:51 龍ぜ殘剑 阅读(126) |
评论 (0) |
编辑 收藏
当今每一个小公司,还是大型企业都有一个人力资源管理部,然而他们的前台的工作建面是基本都是基本是一样。。。。就是人员的添加,修改,删除而已。。。。。如下:
再次选择一个要操作的,比如在这里输入:1 然后按照步骤执行结果为
就此我就通过思考做了一下这个小程序,首先我分成了几个类(1)平台入口处(是一个main函数);(2)在执行main函数之后进入操作平台,即menu菜单,(3)然后选择你当前是要对员工是增加,更新,还是删除工作(PersonOperate)来操作。。。。
代码如下:
入口处代码:
package com.dr.demo.main;
import com.dr.demo.menu.Menu;
public class Main {
public static void main(String[] args) {
new Menu();
}
}
进入平台的程序:
package com.dr.demo.menu;
import com.dr.demo.op.PersonOperate;
import com.dr.demo.util.InputData;
public class Menu {
InputData input = null;
public Menu(){
this.input = new InputData();
//循环出现菜单
while(true){
this.show(); //死循环
}
}
//需要定义的菜单内容
public void show(){
System.out.println("\t\t\t1、增加人员信息");
System.out.println("\t\t\t2、浏览人员信息");
System.out.println("\t\t\t3、修改人员信息");
System.out.println("\t\t\t4、退出人力资源系统。");
System.out.print("\n\n请选择要使用的操作:");
int temp = input.getInt();
switch(temp){
case 1:{ // 增加人员信息
new PersonOperate().add(); //业务处理层
break;
}
case 2:{ // 浏览人员信息
new PersonOperate().show();
break;
}
case 3:{ // 修改人员信息
new PersonOperate().update();
break;
}
case 4:{ //退出系统
System.out.println("选择的是退出系统");
System.out.println("系统退出!");
System.exit(1);
}
default:{
System.out.println("输入的内容不正确");
break;
}
}
}
}
然后是PersonOperate类对的每个对象的增删改操作:
package com.dr.demo.op;
import com.dr.demo.util.FileOperate;
import com.dr.demo.util.InputData;
import com.dr.demo.vo.Person;
public class PersonOperate {
private InputData input = null;
public PersonOperate(){
this.input = new InputData();
}
//完成具体的Person对象操作
public void add(){
//要使用输入数据的类
String name = null;
int age = 0;
float score = 0.0f;
System.out.print("输入姓名:");
name = this.input.getString();
System.out.print("输入年龄:");
age = this.input.getInt();
System.out.print("输入成绩:");
score = this.input.getFloat();
//生成Person对象,把对象保存在文件中
Person p = new Person(name,age,score);
try{
new FileOperate().save(p); //io操作层
System.out.println("数据保存成功!");
}catch(Exception e){
System.out.println("数据保存失败!");
}
}
public void show(){
//从文件中把内容读进来
Person p = null;
try{
p = (Person) new FileOperate().read();
}catch(Exception e){
System.out.println("内容显示失败,请确定数据是否存在!");
}
if(p != null){
System.out.println(p);
}
}
public void update(){
//先将之前的信息查出来
Person p = null;
try{
p = (Person) new FileOperate().read();
}catch(Exception e){
System.out.println("内容显示失败,请确定数据是否存在!");
}
if(p != null){
String name = null;
int age = 0;
float score =0.0f;
System.out.print("请输入新的姓名(原姓名:"+p.getName()+")");
name = this.input.getString();
System.out.print("请输入新的年龄(原年龄:"+p.getAge()+")");
age = this.input.getInt();
System.out.print("请输入新的成绩(原成绩:"+p.getScore()+")");
score = this.input.getFloat();
//信息重新设置
p.setName(name);
p.setAge(age);
p.setScore(score);
try{
new FileOperate().save(p);
System.out.println("数据更新成功!");
}catch(Exception e){
System.out.println("数据更新失败!");
}
}
}
}
posted @
2010-11-06 21:55 龍ぜ殘剑 阅读(150) |
评论 (0) |
编辑 收藏
现在很多医院都在实行挂号制度,有利于维持医院的次序。起初感觉是很难开发的一个系统,其实不然,仔细想起来不是 一件什么难事。。。嘿嘿,我是这样来实现着个项目的。。。。分析如下,把医院系统简单地分成几种类,病人,医生,挂号等等。。
第一:挂号选择医生
代码如下:
package Waiter;
import java.util.Queue;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class HospitalWorkerUi {
public static void main(String args[]){
final Display display= Display.getDefault();
final Shell shell = new Shell();
shell.setMaximized(true);
shell.setText("医院工作人员");
QueueServer qs = new QueueServer();
final Queue<Waiter> waiterList = qs.init();
final Queue<SoWaiter> soWaiterList = qs.init1();
final Queue<FastWaiter> FastWaiterList = qs.init2();
final Text txt = new Text(shell,SWT.MULTI);
txt.setBounds(500, 50, 550, 450);
// 事件代码里要访问button
final Button button = new Button(shell, SWT.Activate);
button.addSelectionListener(new SelectionAdapter() { // 加一个�?择监听器
public void widgetSelected(SelectionEvent e) {
//System.out.println("############### " + waiterList.size());
Waiter waiter= waiterList.poll();
if(waiter!= null){
txt.setText(waiter.getNum()+"号顾客请到1号窗口检查");
}else{
txt.setText("现在没有人,您可以休息会了\n 喝杯咖啡吧,哈哈!");
}
}
});//数据库存取,网络连接,逻辑处理
button.setBounds(450, 530, 200,75); // 设置按钮位置
button.setFont(new Font(display,"宋体",12,SWT.BOLD));
button.setText("专家 张医生");// 设置按钮上的文字
final Button button1 = new Button(shell, SWT.Activate);
button1.addSelectionListener(new SelectionAdapter() { // 加一个�?择监听器
public void widgetSelected(SelectionEvent e) {
//System.out.println("############### " + waiterList.size());
SoWaiter waiter= soWaiterList.poll();
if(waiter!= null){
txt.setText(waiter.getNum()+"号顾客请到2号窗口检查");
}else{
txt.setText("现在没有人,您可以休息会了\n 喝杯咖啡吧,哈哈!");
}
}
});//数据库存取,网络连接,逻辑处理
button1.setBounds(750, 530, 200,75); // 设置按钮位置
button1.setFont(new Font(display,"宋体",12,SWT.BOLD));
button1.setText("专家 王医生");// 设置按钮上的文字
final Button button2 = new Button(shell, SWT.Activate);
button2.addSelectionListener(new SelectionAdapter() { // 加一个�?择监听器
public void widgetSelected(SelectionEvent e) {
//System.out.println("############### " + waiterList.size());
FastWaiter waiter= FastWaiterList.poll();
if(waiter!= null){
txt.setText(waiter.getNum()+"号顾客请到3号窗口检查");
}else{
txt.setText("现在没有人,您可以休息会了\n 喝杯咖啡吧,哈哈!");
}
}
});//数据库存取,网络连接,逻辑处理
button2.setBounds(1050, 530, 200,75); // 设置按钮位置
button2.setFont(new Font(display,"宋体",12,SWT.BOLD));
button2.setText("专家 李医生");// 设置按钮上的文字
shell.layout();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}
运行结果:
第二:医生按次序为病人治病
实现代码如下:
package Waiter;
import java.util.Queue;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class WaiterQueueUi {
public static void main(String args[]){
final Display display=Display.getDefault();
final Shell shell=new Shell();
shell.setMaximized(true);
shell.setText("医院病人挂号口");
QueueServer qs = new QueueServer();//实例化类
QueueServer q= new QueueServer();
QueueServer p = new QueueServer();
final Queue<Waiter> waiterList = qs.init();//初始化队列服务器
final Text txt = new Text(shell,SWT.MULTI);
txt.setBounds(65, 30, 180, 70);
final Queue<SoWaiter> soWaiterList = q.init1();
final Text txt1 = new Text(shell,SWT.MULTI);
txt1.setBounds(400, 30, 180, 70);
final Queue<FastWaiter> fastWaiterList = p.init2();
final Text txt2 = new Text(shell,SWT.MULTI);
txt2.setBounds(800, 30, 180, 70);
Label label=new Label(shell,SWT.NULL);
label.setBounds(400, 250, 500, 205); // 设置按钮位置
label.setFont(new Font(display,"宋体",16,SWT.BOLD));
label.setText("医院会为您们最优质的服务!!!");// 设置按钮上的文字
// 事件代码里要访问button
final Button button = new Button(shell, SWT.Activate);
button.addSelectionListener(new SelectionAdapter() { // 加一个�?择监听器
public void widgetSelected(SelectionEvent e) {
//System.out.println("############### " + waiterList.size());
Waiter waiter= waiterList.poll();
if(waiter!= null){
txt.setText(waiter.getNum()+"号顾客请到1号窗口办理业务");
}else{
txt.setText("现在没有人办理业务了,您可以休息会了\n 喝杯咖啡吧,哈哈!");
}
}
});//数据库存取,网络连接,逻辑处理
button.setBounds(90, 141, 100, 25); // 设置按钮位置
button.setText("专家 张医生");// 设置按钮上的文字
// 事件代码里要访问button
final Button button1 = new Button(shell, SWT.Activate);
button1.addSelectionListener(new SelectionAdapter() { // 加一个�?择监听器
public void widgetSelected(SelectionEvent e) {
//System.out.println("############### " + waiterList.size());
SoWaiter sowaiter= soWaiterList.poll();
if(sowaiter!= null){
txt1.setText(sowaiter.getNum()+"病人到2号门诊办理业务"+"\n"+"二号门诊专家会认真给你检查病情的");
}else{
txt1.setText("现在没有人办理业务了,您可以休息会了\n 喝杯咖啡吧,哈哈!");
}
}
});//数据库存取,网络连接,逻辑处理
button1.setBounds(450, 141, 100, 25); // 设置按钮位置
button1.setText("专家 王医生");// 设置按钮上的文字
// 事件代码里要访问button
final Button button2 = new Button(shell, SWT.Activate);
button2.addSelectionListener(new SelectionAdapter() { // 加一个�?择监听器
public void widgetSelected(SelectionEvent e) {
//System.out.println("############### " + waiterList.size());
FastWaiter fastWaiter= fastWaiterList.poll();
if(fastWaiter!= null){
txt2.setText(fastWaiter.getNum()+"号顾客请到1号窗口办理业务");
}else{
txt2.setText("现在没有人办理业务了,您可以休息会了\n 喝杯咖啡吧,哈哈!");
}
}
});//数据库存取,网络连接,逻辑处理
button2.setBounds(800, 141, 100, 25); // 设置按钮位置
button2.setText("专家 李医生");// 设置按钮上的文字
shell.layout();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}
执行结果如下:
posted @
2010-11-04 11:00 龍ぜ殘剑 阅读(1310) |
评论 (0) |
编辑 收藏
开始想做的时候感觉很简单,动手做起来其实不是那么的简单呢。这里以文件 f:\\Dato.txt为例
首先使用File查找是否存在文件f:\\Dato.txt,文件存在就把里面的内容修改掉。。。。
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
public class IO {
public static void main(String[] args) {
// TODO Auto-generated method stub
File f=null;
f=new File("f:\\Dato.txt");//使用File找到文件,并且在之内写入文件。。。。。
if(f.exists()){
//如果为真则表示文件存在
//如果存在则删除文件
f.delete();
}else{
try{
System.out.println(f.createNewFile());
}catch(Exception e){}
//在文件中写入文件则要用------outputStream
OutputStream out=null;
//需要用子类进行实例化
try{
out= new FileOutputStream(f);
}catch(Exception e){}
//现在向其中写入 数据
String str="欢迎来到JAVA世界!!!........";
byte b[]=str.getBytes();
//向文件中写入内容
try{
out.write(b);
}catch(Exception e){}
//关闭文件
try{
out.close();
}catch(Exception e){}
}
}
}
posted @
2010-11-02 12:37 龍ぜ殘剑 阅读(153) |
评论 (0) |
编辑 收藏
IO 流的作用:是能够从发送字节序列的数据源获取数据,以及如何将数据发送到能够接收字节流的任何目的地,也就是输入和输出。。字节序列的源和目的地可以是文件,网络连接,内存块等,不管在文件中的信息还是网络连接的信息他们的接收在本质上是一样的。
这里有一个小程序:
import java.io.*;
public class IO{
public static void main(String args[]){
File a = null; // 判断是否存在文件 a;
File a=new File("f:\\James\\wto.txt"); //新建文件a
try{
System.out.println(f.createNewFile());//打印是否创建成功
}catch(Exception e){}
}
如果打印的是ture,文件创建成功。打印false表明抽象地址中已经存该在文件,不用再创建。。
posted @
2010-11-02 09:39 龍ぜ殘剑 阅读(117) |
评论 (0) |
编辑 收藏
class People1{
public String sex;
public int age;
public void say(){
System.out.println("小黑:"+sex+" 年龄:"+age);
}
}
public class People {
public static void main(String[] args) throws InterruptedException {
People1 p1 =new People1(); //里面先new了两个对象,分别问p1和p2
People1 p2 =new People1();
p1=p2; //p1.p2指向同一地址p2.
p1.sex="雄性";
p1.age=6;
p1.say();
p2.sex="雌性";
p2.age=12;
p2.say();
}
}
运行结果:
例子先new了两个对象,分别问p1和p2,然后将p2的值附给了p1,这时,p1的指向就发生了变化:p1就不再指向原来的地址了,此时p1就指向了p2所指向的地址了,也就是说:p1和p2指向了同一块堆内存。这时先给p1的属性赋值,并且调用了p1的say方法,这个时候控制台就打印出来p1所指向的堆地址(实际此时p2指向的也是这个堆地址);然后又给p2的属性赋值,并且调用了p2的say方法,这个时候控制台就会打印出来p2所指向的堆地址(实际此时p1指向的也是这个堆地址),两次打印出来的字符串是不一样的,因为数值发生了改变。
posted @
2010-10-31 22:48 龍ぜ殘剑 阅读(117) |
评论 (0) |
编辑 收藏