常见的java代码示例,java编程常用代码

java代码示例

importjava.awt.*;importjava.awt.event.*;classShopFrameextendsFrameimplementsActionListener{Labellabel1,label2,label3,label4;Buttonbutton1,button2,button3,button4,button5;TextAreatext;Panelpanel1,panel2;staticfloatsum=0.0f;ShopFrame(Strings){super(s);setLayout(newBorderLayout());label1=newLabel("面纸:3元",Label.LEFT);label2=newLabel("钢笔:5元",Label.LEFT);label3=newLabel("书:10元",Label.LEFT);label4=newLabel("袜子:8元",Label.LEFT);button1=newButton("加入购物车");button2=newButton("加入购物车");button3=newButton("加入购物车");button4=newButton("加入购物车");button5=newButton("查看购物车");text=newTextArea("商品有:"+"\n",5,10);text.setEditable(false);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);button5.addActionListener(this);panel1=newPanel();panel2=newPanel();panel1.add(label1);panel1.add(button1);panel1.add(label2);panel1.add(button2);panel1.add(label3);panel1.add(button3);panel1.add(label4);panel1.add(button4);panel2.setLayout(newBorderLayout());panel2.add(button5,BorderLayout.NORTH);panel2.add(text,BorderLayout.SOUTH);this.add(panel1,BorderLayout.CENTER);this.add(panel2,BorderLayout.SOUTH);setBounds(100,100,350,250);setVisible(true);validate();}publicvoidactionPerformed(ActionEvente){if(e.getSource()==button1){text.append("一个面纸、");sum=sum+3;}elseif(e.getSource()==button2){text.append("一只钢笔、");sum=sum+5;}elseif(e.getSource()==button3){text.append("一本书、");sum=sum+10;}elseif(e.getSource()==button4){text.append("一双袜子、");sum=sum+8;}elseif(e.getSource()==button5){text.append("\n"+"总价为:"+"\n"+sum);}}}publicclassShopping{publicstaticvoidmain(String[]args){newShopFrame("购物车");}}我没用Swing可能显示不出来你的效果。不满意得话我在给你编一个。

目前创新互联公司已为超过千家的企业提供了网站建设、域名、网页空间、成都网站托管、企业网站设计、任城网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

求SAX解析XML文件的JAVA代码示例

package com.yangweitao.drp.util;

java代码:

import java.util.HashMap;

import java.util.Map;

import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;

/**

*

* Bean工厂

* @author Administrator

*

*/

public class BeanFactory {

private static BeanFactory instance = null ;

//存放产品{key: 产品编号 value:具体产品}

private Map beans = new HashMap() ;

private Document doc = null ;

public BeanFactory(){

try {

doc = new SAXReader().read(Thread.currentThread().getContextClassLoader().getResourceAsStream("applicationContextl.xml"));

} catch (DocumentException e) {

e.printStackTrace();

throw new AppException("加载配置文件applicationContext.xml文件失败");

}

}

/**

* 获得实例

* @return

*/

public static BeanFactory getInstance(){

if(instance == null){

instance = new BeanFactory () ;

}

return instance ;

}

// /**

// * 根据产品标识(id)得到产品 必须是同步的,因为会产生线程安全问题

// * @param id

// * @return

// */

// public synchronized Object getBean(String key){

//

// if(beans.containsKey(key)){

// return beans.get(key);

// }

// //查找XML文件中key等于谋值的bean标签

// Object object = null ;

// try {

// Element elt = (Element)doc.selectObject("//bean[@id=\"" + key +"\"]");

// object = Class.forName(elt.attributeValue("class")).newInstance() ;

// } catch (Exception e) {

// beans.put(key, object);

// }

// return object ;

// }

/**

* 根据产品标识(id)得到产品 必须是同步的,因为会产生线程安全问题

* @param id

* @return

*/

public synchronized Object getBean(Class objClass){

String key = objClass.getName();

if(beans.containsKey(key)){

return beans.get(key);

}

//查找XML文件中key等于谋值的bean标签

Object object = null ;

try {

Element elt = (Element)doc.selectObject("//bean[@id=\"" + key +"\"]");

object = Class.forName(elt.attributeValue("class")).newInstance() ;

} catch (Exception e) {

beans.put(key, object);

}

return object ;

}

public static void main(String[] args) {

//System.out.println(BeanFactory.getInstance().getBean("com.yangweitao.drp.basedata.dao.ItemDao"));

}

}

xml文件:

?xml version="1.0" encoding="UTF-8"?

beans

!-- OCP 原则:对扩展开发,对修改关闭 --

bean id="com.yangweitao.drp.basedata.dao.ItemDao" class="com.yangweitao.drp.basedata.dao.ItemDao4OracleImpl"/bean

!--

bean id="itemDao" class="com.yangweitao.drp.basedata.dao.ItemDao4MySqlImpl"/bean

--

bean id="com.yangweitao.drp.basedata.manager.ItemService" class="com.yangweitao.drp.basedata.manager.ItemServiceImpl"/bean

/beans

java代码采用单例读取,测试的是 请导入相应的jar包

java代理模式的代码示例

public interface Italk {

public void talk(String msg);

} public class People implements Italk {

public String username;

public String age;

public String getName() {

return username;

}

public void setName(String name) {

this.username= name;

}

public String getAge() {

return age;

}

public void setAge(String age) {

this.age = age;

}

public People(String name1, String age1) {

this.username= name1;

this.age = age1;

}

public void talk(String msg) {

System.out.println(msg+!你好,我是+username+,我年龄是+age);

}

} public class TalkProxy implements Italk {

Italk talker;

public TalkProxy (Italk talker) {

//super();

this.talker=talker;

}

public void talk(String msg) {

talker.talk(msg);

}

public void talk(String msg,String singname) {

talker.talk(msg);

sing(singname);

}

private void sing(String singname){

System.out.println(唱歌:+singname);

}

}

} public class MyProxyTest {

/**代理模式

* @param args

*/

public static void main(String[] args) {

//不需要执行额外方法的

Italk people1=new People(湖海散人,18);

people1.talk(No ProXY Test);

System.out.println(-----------------------------);

//需要执行额外方法的

TalkProxy talker=new TalkProxy(people1);

talker.talk(ProXY Test,七里香);

}

}

如何在Java代码示例中停止线程

终止线程的三种方法:1. 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。 2. 使用stop方法强行终止线程(这个方法不推荐使用,因为stop和suspend、resume一样,也可能发生不可预料的结果)。3. 使用interrupt方法中断线程。 1. 使用退出标志终止线程 当run方法执行完后,线程就会退出。但有时run方法是永远不会结束的。如在服务端程序中使用线程进行监听客户端请求,或是其他的需要循环处理的任务。在这种情况下,一般是将这些任务放在一个循环中,如while循环。如果想让循环永远运行下去,可以使用while(true){……}来处理。但要想使while循环在某一特定条件下退出,最直接的方法就是设一个boolean类型的标志,并通过设置这个标志为true或false来控制while循环是否退出。下面给出了一个利用退出标志终止线程的例子。

package chapter2; public class ThreadFlag extends Thread { public volatile boolean exit = false; public void run() { while (!exit); } public static void main(String[] args) throws Exception { ThreadFlag thread = new ThreadFlag(); thread.start(); sleep(5000); // 主线程延迟5秒 thread.exit = true; // 终止线程thread thread.join(); System.out.println("线程退出!"); } }

在上面代码中定义了一个退出标志exit,当exit为true时,while循环退出,exit的默认值为false.在定义exit时,使用了一个Java关键字volatile,这个关键字的目的是使exit同步,也就是说在同一时刻只能由一个线程来修改exit的值, 2. 使用stop方法终止线程 使用stop方法可以强行终止正在运行或挂起的线程。我们可以使用如下的代码来终止线程: thread.stop(); 虽然使用上面的代码可以终止线程,但使用stop方法是很危险的,就象突然关闭计算机电源,而不是按正常程序关机一样,可能会产生不可预料的结果,因此,并不推荐使用stop方法来终止线程。 3. 使用interrupt方法终止线程 使用interrupt方法来终端线程可分为两种情况: (1)线程处于阻塞状态,如使用了sleep方法。 (2)使用while(!isInterrupted()){……}来判断线程是否被中断。 在第一种情况下使用interrupt方法,sleep方法将抛出一个InterruptedException例外,而在第二种情况下线程将直接退出。下面的代码演示了在第一种情况下使用interrupt方法。

package chapter2; public class ThreadInterrupt extends Thread { public void run() { try { sleep(50000); // 延迟50秒 } catch (InterruptedException e) { System.out.println(e.getMessage()); } } public static void main(String[] args) throws Exception { Thread thread = new ThreadInterrupt(); thread.start(); System.out.println("在50秒之内按任意键中断线程!"); System.in.read(); thread.interrupt(); thread.join(); System.out.println("线程已经退出!"); } }

上面代码的运行结果如下: 在50秒之内按任意键中断线程! sleep interrupted 线程已经退出! 在调用interrupt方法后, sleep方法抛出异常,然后输出错误信息:sleep interrupted. 注意:在Thread类中有两个方法可以判断线程是否通过interrupt方法被终止。一个是静态的方法interrupted(),一个是非静态的方法isInterrupted(),这两个方法的区别是interrupted用来判断当前线是否被中断,而isInterrupted可以用来判断其他线程是否被中断。因此,while (!isInterrupted())也可以换成while (!Thread.interrupted())。

用JAVA定义一个一元二次方程?

以下是定义一元二次方程类、封装系数及其求根方法的示例代码:

public class Equation {

private double a;

private double b;

private double c;

// 封装系数

public void setA(double a) {

this.a = a;

}

public double getA() {

return a;

}

public void setB(double b) {

this.b = b;

}

public double getB() {

return b;

}

public void setC(double c) {

this.c = c;

}

public double getC() {

return c;

}

// 求根方法

public void solve() {

double delta = b * b - 4 * a * c;

if (delta 0) {

double x1 = (-b + Math.sqrt(delta)) / (2 * a);

double x2 = (-b - Math.sqrt(delta)) / (2 * a);

System.out.println("方程的两个解分别为:" + x1 + "和" + x2);

} else if (delta == 0) {

double x = -b / (2 * a);

System.out.println("方程的解为:" + x);

} else {

System.out.println("方程无解");

}

}

}

在main()方法中定义一个一元二次方程对象并调用求根方法,可以这样写:

public static void main(String[] args) {

// 创建一个一元二次方程对象

Equation eq = new Equation();

// 设置系数

eq.setA(1);

eq.setB(2);

eq.setC(1);

// 调用求根方法

eq.solve();

}

上面的代码会输出:方程的解为:-1.0。

求java十进制转二进制代码

很高兴回答你的问题

希望对你有帮助

Java实现十进制转换二进制的一段代码0

1.复制代码package work;

2.import java.util.*;

3.public class jinzhi{

4.public static void main(String[]args){

5.Scanner input=new Scanner(System.in);

6.int num; //声明一个num变量用来存贮获取键盘输入的数值

7.int[] tnum=new int[10]; //声明一个数组,用来存贮二进制的每一位数字

8.System.out.print(\"请输入一个100以内的整数:\");

9.num=input.nextInt(); //从键盘获取数值

..

.. /*循环,用来检测输入的数值是否大于100*/

while(num100){

System.out.print(\"数字不能大于100!重新输入:\");

num=input.nextInt();

}

/*循环结束*/

int n=num; //声明n变量用并赋值输入的值

int x=0; //声明x变量,用来控制数组

/*循环,用来计算十进制转换为二进制数后的每一位*/

while(n=1){

tnum[x]=n%2; //将结果逐一存贮在数组内

n=n/2;

x++;

}

/*循环结束*/

System.out.print(num+\"转换成二进制是:\");

x--; //这里x变量需要“--”才能与数组标签匹配

/*for循环控制数组序列反转输出,从后往前*/

for(int i=x;i=0;i--){

System.out.print(tnum[i]);

}

/*循环结束*/

}

}


当前名称:常见的java代码示例,java编程常用代码
网站URL:http://scjbc.cn/article/hsjgdp.html

其他资讯