易截截图软件、单文件、免安装、纯绿色、仅160KB

java进制转换

对于10进制数转换为N(2-36)进制一般都是选择取余除的算法进行转换 ,下面给出两种方案
一种是递归,一种是迭代。通过效率评价两者性能
其中迭代的方案直接取自java源代码。
/*
*Class NotationConvert.java
*Create Date: 2009-11-12
*Author:a276202460
*/
package com.rich.notation;
public class NotationConvert {
private static final String[] letters = { "0", "1", "2", "3", "4", "5",
"6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i",
"g", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
"w", "x", "y", "z" };
static final char[] digits = { '0', '1', '2', '3', '4', '5', '6', '7', '8',
'9', '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' };
public static String TentoN(int value, int number) {
if (number <= 1 || number > letters.length) {
throw new RuntimeException("Faild");
}
if (value < 0) {
return "-" + TentoN(0 - value, number);
}
if (value < number) {
return letters[value];
} else {
return (TentoN(value / number, number) + letters[value % number]);
}
}
public static String TentoN1(int value, int number) {
if (number <= 1 || number > letters.length) {
throw new RuntimeException("Faild");
}
char[] rs = new char[33];
boolean flag = value < 0;
int startindex = 32;
if (!flag)
value = 0 - value;
for (; value <= -number; value /= number)
rs[startindex--] = digits[-(value % number)];
rs[startindex] = digits[-value];
if (flag) {
rs[--startindex] = '-';
}
return new String(rs, startindex, 33 - startindex);
}

public static void main(String[] s) {
long starttime = System.currentTimeMillis();
for (int i = 0; i < 100000; i++)
TentoN(-33, 2);
System.out.println((System.currentTimeMillis() - starttime));
starttime = System.currentTimeMillis();
for (int i = 0; i < 100000; i++)
TentoN1(-33, 2);
System


相关文档:

java 找出4位数的所有吸血鬼数字

 /**
* 找出四位数所有的吸血鬼数字
* 吸血鬼数字:位数为偶数的数字可以由一对数字相乘而得,这对数字包含乘积一半的位数
* 如:1260 = 21*60
*/
public class Vampire {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

String s= ......

java中的foreach用法

 import java.util.*;
public class ForeachExample {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Random r = new Random();
int[] x = new int[10];
for (int i = 0; i < x.length; i++) {
x[i] = r.nextInt(100);
}
/ ......

java中this关键字用法

 /**
* this关键字用法
*/
public class Flower {

int petalCount = 0;
String s = "initial value";

Flower(int petals){
petalCount = petals;
System.out.println("Constructor with one int arg");
}

Flower(String ss){
System.out.println("Constr ......

关于 java swing 中的repaint 和 revalidate 含义

   repaint 对组件进行重绘,比如一个panel,当你remove掉panel里面的一个组件时,你必须调用repaint方法才能对panel进行重绘,进行刷新,你想要删除的组件才能在界面上消失。
   revalidate 对组件进行验证,比如一个panel,当你remove掉panel里面的一个组件时,当你调用revalidate方法后,panel的布 ......

java 事件机制探讨

java中的事件机制的参与者有3种角色:
1.event object:就是事件产生时具体的“事件”,用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中
2.event source:具体的接受事件的实体,比如说,你点击一个button,那么button就是event source,这样你必须使button对某些事件进行相应,你就需 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号