三分自留地

Follow your heart

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  4 Posts :: 2 Stories :: 1 Comments :: 0 Trackbacks

2013年5月2日 #


一、清晰型

<%@ page contentType="image/jpeg" import="java.awt.*, 
java.awt.image.*,java.util.*,javax.imageio.*" %> 
<%! 
Color getRandColor(int fc,int bc) 

Random random = new Random(); 
if(fc>255) fc=255; 
if(bc>255) bc=255; 
int r=fc+random.nextInt(bc-fc); 
int g=fc+random.nextInt(bc-fc); 
int b=fc+random.nextInt(bc-fc); 
return new Color(r,g,b); 

%> 
<% 
out.clear();
response.setHeader("Pragma","No-cache"); 
response.setHeader("Cache-Control","no-cache"); 
response.setDateHeader("Expires", 0); 
int width=60, height=20; 
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); 
Graphics g = image.getGraphics(); 
Random random = new Random(); 
g.setColor(getRandColor(200,250)); 
g.fillRect(0, 0, width, height); 
g.setFont(new Font("Times New Roman",Font.PLAIN,18)); 
g.setColor(getRandColor(160,200)); 
for (int i=0;i<155;i++) 

int x = random.nextInt(width); 
int y = random.nextInt(height); 
int xl = random.nextInt(12); 
int yl = random.nextInt(12); 
g.drawLine(x,y,x+xl,y+yl); 

String sRand=""; 
for (int i=0;i<4;i++){ 
String rand=String.valueOf(random.nextInt(10)); 
sRand+=rand; 
g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110))); 
g.drawString(rand,13*i+6,16); 

session.setAttribute("SRA",sRand);
g.dispose(); 
ImageIO.write(image, "JPEG", response.getOutputStream()); 
%>


二、凌乱型

<%@ page contentType="image/jpeg"
    import="java.awt.*, 
java.awt.image.*,java.util.*,javax.imageio.*"%>
<%! 
Color getRandColor(int fc,int bc) 

Random random = new Random(); 
if(fc>255) fc=255; 
if(bc>255) bc=255; 
int r=fc+random.nextInt(bc-fc); 
int g=fc+random.nextInt(bc-fc); 
int b=fc+random.nextInt(bc-fc); 
return new Color(r,g,b); 

%>
<% 
char[] codeSequence = { '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', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };

response.setHeader("Pragma","No-cache"); 
response.setHeader("Cache-Control","no-cache"); 
response.setDateHeader("Expires", 0); 
int width=60, height=20; 
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); 
Graphics g = image.getGraphics(); 
Random random = new Random(); 
g.setColor(getRandColor(200,250)); 
g.fillRect(0, 0, width, height); 
g.setFont(new Font("Fixedsys",Font.PLAIN,18)); 
g.drawRect(0, 0, width - 1, height - 1); // 随机产生160条干扰线,使图象中的认证码不易被其它程序探测到。
g.setColor(Color.BLACK);
for (int i = 0; i < 30; i++) {
    int x = random.nextInt(width);
    int y = random.nextInt(height);
    int xl = random.nextInt(12);
    int yl = random.nextInt(12);
    g.drawLine(x, y, x + xl, y + yl);
}
String sRand=""; 
for (int i=0;i<4;i++){     
String rand=String.valueOf(codeSequence[random.nextInt(36)]);
sRand+=rand; 
g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110))); 
g.drawString(rand,13*i+6,16); 

session.setAttribute("SRA",sRand);
g.dispose(); 
ImageIO.write(image, "JPEG", response.getOutputStream()); 
out.clear();
out = pageContext.pushBody();
%>


posted @ 2013-11-01 13:43 大山 阅读(108) | 评论 (0)编辑 收藏



    1、题目是编写java程序打印出一下数字形状:

        1  
        7   2  
        12 8   3   
        16 13 9   4  
        19 17 14 10 5  
        21 20 18 15 11 6  
    
    当初做题的时候比较着急没用做出来,其实思路也都想出来了,就是没具体编码出来,关键是控制数组的坐标变换而已:
    下来做了一下,与大家共享下,请多指正。

     
   
 public class Test {

    public static void main(String[] args) {
        
        int count=1;
        int [][]  a=new int [12][12];
        
        //赋值
        for(int i=0;i<12;i++){
            for(int j=0;j<12-j;j++){
                if(j>=i){
                    a[j][j-i]=count++;
                }
            }
        }
        
        //打印
        for(int i=0;i<12;i++){
            for(int j=0;j<12;j++){
                if(a[i][j]!=0){
                    System.out.print(a[i][j]+" ");
                }
                
            }
            System.out.println(" ");
        }
        
    }

}
posted @ 2013-05-02 17:09 大山 阅读(208) | 评论 (0)编辑 收藏