常见的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编程常用代码
文章链接:https://www.cdcxhl.com/article18/hsjgdp.html

成都网站建设公司_创新互联,为您提供云服务器外贸建站网站内链外贸网站建设小程序开发电子商务

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都app开发公司