java-每天一练1_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java-每天一练1

java-每天一练1

 2014/4/15 15:35:49  lixiao_lin  程序员俱乐部  我要评论(0)
  • 摘要:一、packagetest;/***<p>Title:HelloJavaWorld</p>*<p>Description:简单的Java程序,只显示一个信息。</p>*<p>Copyright:Copyright(c)2014</p>*<p>filename:HelloWorld.java</p>*@authorllx*@version1.0*/publicclassHelloWorld
  • 标签:Java
一、
class="java" name="code">
package test;
/**
 * <p>Title: Hello Java World</p>
 * <p>Description: 简单的Java程序,只显示一个信息。</p>
 * <p>Copyright: Copyright (c) 2014</p>
 * <p>filename: HelloWorld.java</p>
 * @author llx
 * @version 1.0
 */
public class HelloWorld {
	public static void main(String[] args){
		System.out.println("Hello java world!");
	}

}


二、
package test;
/**
 * <p>Title: java语言流程显示</p>
 * <p>Description:演示java中常用的流程控制操作</p>
 * <p>Copyright:Copyright (c) 2014</p>
 * <p>Filename: FlowDemo.java</p>
 * @author llx
 * @version 1.0
 *
 */
public class FlowDemo {
	public static void main(String[] args){
		//String[] abc = new String[]{"1","2","3"};
		String[] abc = {"5","3","4"};
		int iPara1, iPara2, iEnd;
		if(abc.length != 3){
			System.out.println("USE : Java flowdemo parameter1 parameter2 circle");
			System.out.println("parameter1 : 比较条件1, 数字类型");
			System.out.println("parameter2 : 比较条件2, 数字类型");
			System.out.println("circle : 循环次数");
			System.out.println("ego : java flowdemo 1 2 5");
			return;
		}else{
			iPara1 = Integer.parseInt(abc[0]);
			iPara2 = Integer.parseInt(abc[1]);
			iEnd = Integer.parseInt(abc[2]);
		}
		//if语句
		if(iPara2> iPara1){
			System.out.println("if条件满足!");
			System.out.println("第2个数比第一个数大!");
		}else{
			System.out.println("if条件不满足");
			System.out.println("第2个数比第一个数小!");
		}
		//for循环
		for(int i = 0; i < iEnd; i++){
			System.out.println("这是for第 " + i + "次循环");
		}
		//while循环
		int i = 0;
		while (i < iEnd){
			System.out.println("这是while第" + i + "次循环" );
			i++;
		}
		//do-while循环操作
		int j = 0;
		do{
			System.out.println("这是do-while第" + j + "次循环");
			j++;
		}while(j < iEnd);
	}

}




三、
package test;
/**
 * <p>Title: 数组数据操作</p>
 * <p>Description: 演示一维数组和多维数组的初始化和基本操作
 * <p>Copyright: Copyright (c) 2014</p>
 * <p>Filename: MyArray.java
 * @author llx
 * @version 1.0
 *
 */
public class MyArray {
	//初始化数组变量
	char[] cNum = {'1', '2', '3', '4', '5', '6', '7', '8', '9', '0' };
	char[] cStr = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 
			'v', 'w', 'x', 'y', 'z'};
	int[] iMonth = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
	String[] sMail = {"@", "."};
	/**
	 * <br>方法说明: 校验电子邮件
	 * <br>输入参数:String sPara 被校验的电子邮件字符
	 * <br>返回类型:boolean 如果检验的格式符合电子邮件格式返回true;否则返回false
	 */
	public boolean isMail(String sPara){
		for(int i = 0; i < sMail.length; i ++){
			if(sPara.indexOf(sMail[i]) == -1){
				return false;
			}
	}
	return true;
  }
	/**
	 * <br>方法说明:判断是否是数字
	 * <br>输入参数:String sPara. 需要判断的字符串
	 * <br>返回类型:boolean。如果都是数字,返回true;否则返回false
	 * 
	 */
	public boolean isNumber(String sPara){
		int iPLength = sPara.length();
		for(int i = 0; i < iPLength; i ++){
			char cTemp = sPara.charAt(i);
			boolean bTemp = false;
			for(int j = 0; j < cNum.length; j++){
				if(cTemp == cNum[j]){
					bTemp = true;
							break;
				}
			}
			if(!bTemp){
				return false;
			}
		}
		
		return true;
	}
	
	/**
	 * <br>方法说明:判断是否都是英文
	 * <br>输入参数:String sPara 要检查的字符
	 * <br>返回类型:boolean. 如果都是字符返回true,反之为false
	 */
	public boolean isString(String sPara){
		int iPLength = sPara.length();
		for(int i =0; i < iPLength; i++){
			char cTemp = sPara.charAt(i);
			boolean bTemp = false;
			for(int j = 0; j < cStr.length; j++){
				if(cTemp == cStr[j]){
					bTemp = true;
					break;
				}
			}
			if(!bTemp){
				return false;
			}
		}
		return true;
	}
	
	/**
	 * <br>方法说明:判断是否是闰年
	 * <br>输入参数: String sPara 要检查的日期字符
	 * <br>返回类型: int。 0 日期格式正确,-1 月或日不和要求, -2年月格式不正确
	 */
	public boolean chickDay(int iPara){
		return iPara % 100 == 0 && iPara % 4 == 0;
	}
	
	public int chickData(String sPara){
		boolean bTemp = false;
		//所输入的日期长度不正确
		if(sPara.length() != 10) {
			return -2;
		}
		//获取年
		String sYear = sPara.substring(0, 4);
		//判断年是否为数字
		if(!isNumber(sYear)){
			return -2;
		}
		//获取月份
		String sMonth = sPara.substring(5, 7);
		//判断月份是否为数字
		if(!isNumber(sMonth)){
			return -2;
		}
		//获取日
		String sDay = sPara.substring(8, 10);
		//判断日是否为数字
		if(!isNumber(sDay)){
			return -2;
		}
		//将年、月、日转换为数字
		int iYear = Integer.parseInt(sYear);
		int iMon = Integer.parseInt(sMonth);
		int iDay = Integer.parseInt(sDay);
		if(iMon > 12){
			return -1;
		}
		//闰年二月处理
		if(iMon == 2 && chickDay(iYear)){
			if(iDay > 29){
				return -2;
			}else{
				if(iDay > iMonth[iMon - 1]){
					return -1;
				}
			}
		}
		
		return 0;
	}
	/**
	 * <br>方法说明: 主方法,测试用
	 * <br>输入参数:
	 * <br>返回类型:
	 */
	public static void main(String[] args){
		MyArray mA = new MyArray();
		//检验邮件地址
		boolean bMail = mA.isMail("tom@163.com");
		System.out.println("1 bMail is " + bMail);
		bMail = mA.isMail("tom@163com");
		System.out.println("2 bMail is" + bMail);
		
		//演示是否为数字
		boolean bIsNum = mA.isNumber("1234");
		System.out.println("1: bIsNum = " + bIsNum);
		bIsNum = mA.isNumber("123r4");
		System.out.println("2: bIsNum = " + bIsNum);
		
		//演示是否为英文字符
		boolean bIsStr = mA.isString("wqe");
		System.out.println("1: bIsStr = " + bIsStr);
		bIsStr = mA.isString("wer3");
		System.out.println("2: bIsStr = " + bIsStr);
		
		//演示检查日期
		int iIsTime = mA.chickData("2003-12-98");
		System.out.println("1: iIsTime = " + iIsTime);
		iIsTime = mA.chickData("2003-111-08");
		System.out.println("2: iIsTime = " + iIsTime);
		iIsTime = mA.chickData("2003-10-08");
		System.out.println("3: iIsTime = " + iIsTime);
		iIsTime = mA.chickData("2000-02-30");
		System.out.println("4: iIsTime = " + iIsTime);
		
	}
	
}




四、

package test;

import java.util.Vector;

/**
 * <p>Title:矢量操作</p>
 * <p>Description: 演示一个矢量(Vector)的基本操作</p>
 * <P>Copyright:(c) 2014</p>
 * <p>Filename: OperateVector.java</p>
 * @author llx
 * @version 1.0
 *
 */
public class OperateVector {
	/**
	 * <br>方法说明:生成一个4*4的二维Vector,供使用
	 * <br>输入参数:
	 * <br>输出变量:Vector
	 * <br>其它说明
	 */
	public Vector buildVector(){
		Vector vTemps = new Vector();
		for(int i = 0; i < 4 ; i++){
			Vector vTemp = new Vector();
			for(int j= 0; j < 4; j++){
				vTemp.addElement("Vector (" + i + ") (" + j + ")");
			}
			vTemps.addElement(vTemp);
		}
		return vTemps;
	}
	/**
	 * <br>方法说明:插入数据
	 * <br>输入参数:Vector vTemp 待插入的数据对象
	 * <br>输入参数: int iTemp 插入数据的位置
	 * <br>输入参数: Object oTemp 插入数据值
	 * <br>输出变量: Vector结果
	 * <br>其它说明: 如果插入位置超出实例实际的位置将返回null;
	 */
	public Vector insert(Vector vTemp, int iTemp, Object oTemp){
		if(iTemp > vTemp.size()){
			//System.out.println("数据超界!");
			print("数组超界!");
			return null;
		}else{
			vTemp.insertElementAt(oTemp, iTemp);
		}
		return vTemp;
	}
	
	/**
	 * <br>方法说明:移除数据
	 * <br>输入参数:Vector vTemp 待删除矢量对象
	 * <br>输入参数: int iTemp 删除数据的位置
	 * <br>输出变量: Vector
	 * <br>其它说明: 如果删除超界的数据,将返回null
	 */
	public Vector delete(Vector vTemp, int iTemp){
		if(iTemp > vTemp.size()){
			//System.out.println("数组超界!");
			print("数组超界!");
		}else{
			vTemp.remove(iTemp);
		}
		return vTemp;
	}
	
	/**
	 * <br>方法说明:修改数据
	 * <br>输入参数:Vector vTemp 待修改矢量对象
	 * <br>输入参数:int iTemp 修改数据的位置
	 * <br>输入参数: Object oTemp 修改数据值
	 * <br>输出变量: Vector
	 * <br>其它说明: 如果修改位置超界的数据,将返回null
	 */
	public Vector update(Vector vTemp, int iTemp, Object oTemp){
		if(iTemp > vTemp.size()){
			//System.out.println("数据超界!");
			print("数组超界!");
			return null;
		}else{
			vTemp.setElementAt(oTemp, iTemp);
		}
		return vTemp;
	}
	
	/**
	 * <br>方法说明:输出信息
	 * <br>输入参数:String sTemp 输出信息
	 * <br>输入参数:Object oTemp 输出信息值
	 * <br>返回变量:无
	 */
	public void print(String sTemp, Vector oTemp){
		System.out.println(sTemp + "数据:");
		this.print( oTemp);
	}
	
	/**
	 * <br>方法说明:打印输出(重载)
	 * <br>输入参数: Object oPara 输出对象
	 * <br>返回类型:无
	 */
	public void print(Object oPara){
		System.out.println(oPara);
	}
	
	/**
	 * <br>方法说明: 打印输出(重载)
	 * <br>输入参数: Vector vPara 显示输出矢量对象
	 * <br>返回类型:无
	 */
	public void print(Vector vPara){
		for(int i = 0; i < vPara.size(); i++){
			System.out.println(vPara.elementAt(i));
		}
	}
	
	/**
	 * <br>方法说明:主方法,程序入口
	 * <br>输入参数:String[] args
	 * <br>返回类型: 无
	 */
	
	public static void main(String[] args){
		OperateVector ov = new OperateVector();
		Vector vTemp = ov.buildVector();
		ov.print("vTemp0", vTemp);
		Vector vResult = ov.insert(vTemp, 2, "添加的数据");
		ov.print("vResult",vResult);
		
		Vector vResultup = ov.update(vResult, 2, "修改的数据");
		ov.print("vResultup", vResultup);
		Vector vResultnow = ov.delete(vResultup, 2);
		ov.print("vResultnow", vResultnow);
	}
}



五、、

package test;
/**
 * <p>Title: 树参数</p>
 * <p>Description: 使用继承类,柳树就是树</p>
 * <p>Copyright: Copyright (c) 2014 </p>
 * <p>Filename: Osier.java
 * @author llx
 * @version 1.0
 *
 */
class Tree{
	/**
	 * <br>方法说明:
	 * <br>输入参数:
	 * <br>返回类型:
	 */
	public void root(){
		String sSite = "土壤中";
		String sFunction = "吸收养分";
		print("位置:" + sSite);
		print("功能:" + sFunction);
	}
	
	/**
	 * <br>方法说明:树的树干
	 * <br>输入参数:
	 * <be>返回类型
	 */
	public void  bolo(){
		String sSite = "地面";
		String sFunction = "传递养分";
		print("位置:" + sSite);
		print("功能:" + sFunction);
	}
	
	/**
	 * <br>方法说明: 树的树枝
	 * <br>输入参数:
	 * <br>返回类型
	 */
	public void branch(){
		String sSite = "树干上";
		String sFunction = "传递养分";
		print("位置:" + sSite);
		print("功能:" + sFunction);
	}
	
	/**
	 *<br>方法说明: 树的叶子
	 *<br>输入参数:
	 *<br>返回类型 
	 */
	
	public void leaf(){
		String sSite = "树梢";
		String sFunction = "光合作用";
		String sColor = "绿色";
		print("位置: " + sSite);
		print("功能:" + sFunction);
		print("颜色:" + sColor);
	}
	
	/**
	 * <br>方法说明:显示信息
	 * <br>输入参数: Object oPara 显示信息
	 * <br>返回类型:
	 */
	public void print(Object oPara){
		System.out.println(oPara);
	}
	
	/**
	 * <br>方法说明:主方法
	 * <br>输入参数:
	 * <br>返回类型:
	 */
	public static void main(String[] args){
		Tree t = new Tree();
		t.print("描述一棵树");
		t.print("树根:");
		t.root();
		t.print("树干:");
		t.bolo();
		t.print("树枝:");
		t.branch();
		t.print("树叶");
		t.leaf();
	}
}

/**
 * <p>Title: 柳树参数</p>
 * <p>Description: 描述柳树的参数</p>
 * <p>Copyright: Copyright (c) 2014 </p>
 * <>Filename: Osier.java </p>
 * @author llx
 * @version 1.0
 *
 */
 class Osier extends Tree {
	 /**
	  * <br>方法说明: 重载树的叶子
	  * <br>输入参数:
	  * <br>返回类型:
	  */
	 public void leaf(){
		 super.leaf();
		 String sShape = "长形";
		 super.print("形状: " +sShape);
	 }
	 
	 /**
	  * <br>方法说明: 扩展树的花
	  * <br>输入参数:
	  * <br>返回类型:
	  */
	 public void flower(){
		 print("哈哈,柳树没有花!!");
	 }
	 
	 /**
	  * <br>方法说明:主方法
	  * <br>输入参数:
	  * <br>返回类型:
	  */
	 public static void main(String[] args){
		 Osier o = new Osier();
		 o.print("柳树树根:");
		 o.root();
		 o.print("柳树树干:");
		 o.bolo();
		 o.print("柳树树枝:");
		 o.branch();
		 o.print("柳树树叶:");
		 o.leaf();
		 o.print("柳树花:");
		 o.flower();
		 
	 }

}



六、

package test;

import java.util.Enumeration;
import java.util.Hashtable;

/**
 * <p>Title: 哈希表操作</p>
 * <p>Description: 这是一个权限认证的例子,使用了哈希表作为数据的存储</p>
 * <p>Copyright: Copyright (c) 2014 </p>
 * <p>Filename: RoleRight.java</p>
 * @author llx
 * @version 1.0
 *
 */
public class RoleRight {
	private static Hashtable rightList = new Hashtable();
	/**
	 * <br>方法说明:初始化数据
	 * <br>输入参数:
	 * <br>返回类型
	 */
	public void init(){
		String[ ] accRoleList = {"admin", "satrap", "manager", "user", "guest"};
		String[ ] rightCodeList = {"10001", "10011", "10021", "20011", "24011"};
		for(int i = 0; i < accRoleList.length; i++){
			rightList.put(accRoleList[i], rightCodeList[i]);
		}
	}
	
	/**
	 * <br>方法说明:获取角色权限代码
	 * <br>输入参数:String accRole 角色名称
	 * <br>返回类型:String 权限代码
	 */
	public String getRight(String accRole){
		if(rightList.containsKey(accRole)){
			return (String)rightList.get(accRole);
		}else{
			return null;
		}
	}
	
	/**
	 * <br>方法说明:添加角色和代码信息
	 * <br>输入参数:String accRole 角色名称
	 * <br>输入参数:String rightCode 角色权限代码
	 * <br>返回类型:void (无)
	 */
	public void insert(String accRole, String rightRole){
		rightList.put(accRole, rightRole);
	}
	
	/**
	 * <br>方法说明:删除角色权限
	 * <br>输入参数:String accRole 角色名称
	 * <br>返回类型:void (无)
	 */
	public void delete(String accRole){
		if(rightList.containsKey(accRole)){
			rightList.remove(accRole);
		}
	}
	
	/**
	 * <br>方法说明:修改角色权限代码
	 * <br>输入参数:String accRole 角色名称
	 * <br>输入参数:String rightRole 角色权限代码
	 * <br>返回类型:void(无)
	 */
	public  void update(String accRole, String rightCode){
		this.insert(accRole, rightCode);
	}
	
	/**
	 * <br>方法说明:打印哈希表中角色和代码对应表
	 * <br>输入参数:无
	 * <br>返回类型:无
	 */
	public void print(){
		Enumeration RLKey = rightList.keys();
		while(RLKey.hasMoreElements()){
			String accRole = RLKey.nextElement().toString();
			print(accRole + "=" + this.getRight(accRole));
		}
	}
	
	/**
	 * <br>方法说明:打印信息(重载)
	 * <br>输入参数:Object oPara 打印的信息内容
	 * <br>返回类型:无
	 */
	public void print(Object oPara){
		System.out.println(oPara);
	}
	
	/**
	 * <br>方法说明:主方法
	 * <br>输入参数:
	 * <br>返回类型:
	 */
	public static void main(String[] args){
		RoleRight RR = new RoleRight();
		RR.init();
		RR.print();
		RR.print("__________________");
		RR.insert("presider", "10110");
		RR.print();
		RR.print("__________________");
		RR.update("presider", "10100");
		RR.print();
		RR.print("__________________");
		RR.delete("presider");
		RR.print();
	}

}




七、

/**
 * <p>Title: 接口和抽象函数
 * <p>Description: 演示继承抽象函数和实现接口</p>
 * <p>Copyright: Copyright (c) 2014 </p>
 * <p>Filename: NewPlay.java
 * @author llx
 * @version 1.0
 *
 */
//接口
interface Player{
	int flag = 1;
	void play();//播放
	void pause();//暂停
	void stop();//停止
}
//抽象类
abstract class Playing{
	public void display(Object oPara){
		System.out.println(oPara);
	}
	abstract void winRun();
}
//继承了Playing抽象类和实现类Player接口
public class NewPlay extends Playing implements Player{

	@Override
	public void play() {
		display("NewPlay.play()");//这里只是演示,去掉了代码。
	}

	@Override
	public void pause() {
		display("NewPlay.pause()");//这里只是演示,去掉了代码
	}

	@Override
	public void stop() {
		display("NewPlay.stop()");//这里只是演示,去掉了代码
	}

	@Override
	void winRun() {
		display("NewPlay.winRun()");//这里只是演示,去掉了代码
	}
	public static void main(String[] args){
		NewPlay p = new NewPlay();
		p.play();
		p.pause();
		p.stop();
		p.winRun();
	}
}



八、

package com.test;

/**
 * <p>Title: 标识符</p>
 * <p>Description: 演示标识符对类的访问控制</p>
 * <p>Copyright: Copyright (c) 2014</p>
 * <p>Filename: </p>
 * @author llx
 * @version 1.0
 */
public class ClassPlay
{
  public static void main(String[] args){
	  ClassDemo1 d = new ClassDemo1();
    d.mechod1();
    d.mechod2();
    d.mechod3(); //此处会报错。这是一个私有的方法!只有类本身才可以访问。
  }
}

////////
package com.test;

/**
 * <p>Title: 标识符</p>
 * <p>Description: 演示标识符对类的访问控制</p>
 * <p>Copyright: Copyright (c) 2014</p>
 * <p>Filename: </p>
 * @author llx
 * @version 1.0
 */
public class ClassDemo1
{
//公有方法
 public void mechod1()
 {
   System.out.println("这是一个公有的方法!任何类都可以访问。");
 }
//授保护的方法
 protected void mechod2()
 {
   System.out.println("这是一个受到保护的方法!只有子类可以访问。");
 }
//私有的方法
 private void mechod3()
 {
   System.out.println("这是一个私有的方法!只有类本身才可以访问。");
 }
 public static void main(String[] args){
	 ClassDemo1 d = new ClassDemo1();
   d.mechod1();
   d.mechod2();
   d.mechod3();
 }  
}

/////////
package com.utils;

import com.test.ClassDemo1;

/**
 * <p>Title: 标识符</p>
 * <p>Description: 演示标识符对类的访问控制</p>
 * <p>Copyright: Copyright (c) 2014</p>
 * <p>Filename: </p>
 * @author llx
 * @version 1.0
 */
public class ClassPlay
{
  public static void main(String[] args){
	  ClassDemo1 d = new ClassDemo1();
    d.mechod1();
    d.mechod2(); //此处会报错。这是一个受到保护的方法!只有子类可以访问。
    d.mechod3(); //此处会报错。这是一个私有的方法!只有类本身才可以访问。
  }
}



九、

/**
 * <p>Title: 捕获异常和实现自己的异常类</p>
 * <p>Description: 通过继承Exception类来实现自己的异常类。并使用try-catch来捕获这个异常。</p>
 * <p>Copyright: Copyright (c) 2014</p>
 * <p>Filename: DemoException.java</p>
 * @author llx
 * @version 1.0
 */
class MyException extends Exception {
  public MyException() {}
  public MyException(String msg) {
    super(msg);
  }
  public MyException(String msg, int x) {
    super(msg);
    i = x;
  }
  public int val() { return i; }
  private int i;
}

public class DemoException {
/**
 *<br>方法说明:使用MyException类中默认的构造器
 *<br>输入参数:
 *<br>返回类型:
 */
  public static void a() throws MyException {
    System.out.println(
      "Throwing MyException from a()");
    throw new MyException();
  }
/**
 *<br>方法说明:使用MyException类中带信息的构造器
 *<br>输入参数:
 *<br>返回类型:
 */
  public static void b() throws MyException {
    System.out.println(
      "Throwing MyException from b()");
    throw new MyException("Originated in b()");
  }
/**
 *<br>方法说明:使用了MyException中有编码的构造器
 *<br>输入参数:
 *<br>返回类型:
 */
  public static void c() throws MyException {
    System.out.println(
      "Throwing MyException from c()");
    throw new MyException(
      "Originated in c()", 47);
  }
  public static void main(String[] args) {
    try {
      a();
    } catch(MyException e) {
      e.getMessage();
    }
    try {
      b();
    } catch(MyException e) {
      e.toString();
    }
    try {
      c();
    } catch(MyException e) {
      e.printStackTrace();
      System.out.println("error code: " + e.val());
    }
  }
}
上一篇: ASP.NET常用编程代码(二) 下一篇: 没有下一篇了!
发表评论
用户名: 匿名