Java中的大树处理

在javaAPI中有两个大数类:java.math.BigInteger类和java.math.BigDecimal类。
         java.math.BigInteger类:不可变的任意精度的整数。所有操作中,都以二进制补码形式表示。BigInteger 提供所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法。另外,BigInteger 还提供以下运算:模算术、GCD 计算、质数测试、素数生成、位操作以及一些其他操作。
代码实现:
import java.math.BigInteger;
public class BigIntegerDemo {
	public static void main(String[] args) {
		BigInteger s=BigInteger.valueOf(1); //返回其值等于指定 long 的值的 BigInteger
		int n=50;
		//求50的阶乘
		for(int i=1;i<=n;i++){
			s=s.multiply(BigInteger.valueOf(i)); //返回其值为(BigInteger.valueOf(i)) 的 BigInteger
		}
		System.out.println(s);
	}
}
       java.math.BigDecimal类:不可变的、任意精度的有符号十进制数。 BigDecimal由任意精度的整数非标度值和32位的整数标度(scale: 以10为底的指数)。BigDecimal 类提供以下操作:算术、标度操作、舍入、比较、哈希算法和格式转换。toString( )方法提供 BigDecimal 的规范表示形式。
代码实现:
 
import java.math.BigDecimal;
public class BigDecimalDemo {
	public static void main(String[] args) {
		//如果工程中碰到可能会丢失精度的运算,最好采用BigDecimal来进行
		//下面先演示不使用BigDecimal的高精度运算
		double sum=0;
		for(int i=0;i<10;i++){
			sum+=0.1;
		}
		System.out.println("sum="+sum); 
		//下面演示使用BigDecimal来进行高精度运算
		BigDecimal d=new BigDecimal(0);
		for(int i=0;i<10;i++){
			d=d.add(new BigDecimal(0.1));
		}
		System.out.println("d="+d.doubleValue());
		double dd=13.5654654645D;
		BigDecimal b=new BigDecimal(dd);
		b=b.divide(new BigDecimal(1.2),2,BigDecimal.ROUND_DOWN);  //返回一个 BigDecimal,其值为 (this / divisor),其标度为指定标度
		System.out.println("b+"+b.doubleValue());	
	}
}


Java漂亮的树形菜单制作实例(源码),森林状的关系图,文本域,用于显示点击的节点名称,使用了JTree,可以看作是一个jTree的用法演示实例。树形菜单应用广泛,这个Tree制作漂亮,相信会让很多朋友从学习到实现的方法,效果如演示截图所示。下面是相关的代码片段:   DefaultMutableTreeNode root = new DefaultMutableTreeNode("设置"); //生成根节点   DefaultMutableTreeNode node1=new DefaultMutableTreeNode("常规"); //生成节点一   node1.add(new DefaultMutableTreeNode("默认路径")); //增加新节点到节点一上   node1.add(new DefaultMutableTreeNode("保存选项"));   root.add(node1); //增加节点一到根节点上   root.add(new DefaultMutableTreeNode("界面"));   root.add(new DefaultMutableTreeNode("提示声音"));   root.add(new DefaultMutableTreeNode("打印"));   JTree tree = new JTree(root); //得到JTree的实例   DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer)tree.getCellRenderer(); //得到JTree的Renderer   renderer.setLeafIcon(null); //设置叶子节点图标为空   renderer.setClosedIcon(null); //设置关闭节点的图标为空   renderer.setOpenIcon(null); //设置打开节点的图标为空   tree.addTreeSelectionListener(new TreeSelectionListener() {//选择节点的事件处理   public void valueChanged(TreeSelectionEvent evt) {   TreePath path = evt.getPath(); //得到选择路径   String info=path.getLastPathComponent().toString(); //得到选择的节点名称   jtfInfo.setText(info); //在文本域显示名称   }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值