我在学JAVA 想问一下《head first Java》 这本书的电子版有人有吗?

我在学JAVA 想问一下《head first Java》 这本书的电子版有人有吗?,第1张

推荐些好的书籍和网站给你:

书籍

Java编程思想

Effective Java

Java并发编程实战

Head First设计模式

大话设计模式

敏捷软件开发:原则、模式与实践

轻量级JavaEE整合开发

深入理解Java虚拟机:JVM高级特性与最佳实践

鸟哥的Linux私房菜 基础学习篇

鸟哥的Linux私房菜服务器篇

Maven权威指南

互联网思维 独孤九剑

//GoodWeb sites

论坛类

www.csdn.net

www.iteye.com

www.cnblogs.com

www.oschina.net

www.infoq.com/cn

www.ibm.com/developerworks/cn

www.stakoverflow.com(最大优点:业界很多问题解决的提出与解决)

开源社区

http://code.taobao.org/opensources/(阿里开原社区)

http://code.tencent.com/(腾讯开源社区)

https://github.com/

https://code.google.com/

官网类

www.oracle.com

www.redhat.com

www.apache.org

www.springsource.com

Jar包库

http://sourceforge.net/(开源库)

http://mvnrepository.com/(maven库)

http://www.java2s.com/Code/Jar/CatalogJar.htm

http://www.findjar.com/index.x

实例描述】IP地址是网络上每台计算机的标识,在浏览器中输入的网址也是要经过DNS服务器转换为IP地址才能找到服务器的,在很多网络程序中要求输入服务器IP地址或者对方连接的IP地址,IP地址的错误输入将使程序无法运行。

本实例将实现对IP地址的验证功能,实例的运行效果如图4.14所示。

【实现过程】(1)在Eclipse中新建项目CheckIP,并在其中创建一个CheckIP.java文件。

在该类的主方法中创建标准输入流的扫描器对象,接收用户输入的IP地址。

核心代码如下所示:protectedvoiddo_button_actionPerformed(ActionEvente){Stringtext=ipField.getText()//获取用户输入Stringinfo=matches(text)//对输入文本进行IP验证showMessageDialog(null,info)//用对话框输出验证结果}(2)编写IP地址的mathches()方法,该方法利用正则表达式对输入的字符串进行验证,并返回验证结果,关键代码如下所示。

publicStringmatches(Stringtext){if(text!=null&&!text.isEmpty()){//定义正则表达式Stringregex="^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."+"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."+"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."+"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$"//判断IP地址是否与正则表达式匹配if(text.matches(regex)){//返回判断信息returntext+"\n是一个合法的IP地址!"}else{//返回判断信息returntext+"\n不是一个合法的IP地址!"}}//返回判断信息return"请输入要验证的IP地址!"}【代码解析】本实例的关键点在于IP地址格式与数字范围的验证,用户在输入IP地址时,程序可以获取的只有字符串类型,所以本实例利用字符串的灵活性和正则表达式搭配进行IP地址格式与范围的验证。

该方法是String字符串类的方法,用于判断字符串与制定的正则表达式是否匹配。

其声明语法如下:publicbooleanmathches(Stringregex)Java程序设计经典300例XXXVIII【知识扩展】在正则表达式中,“.”代表任何一个字符,因此在正则表达式中如果想使用普通意义的点字符“.”,必须使用转义字符“\”。

300行能干啥啊,你还不如自己做做练习题。

package suoha

import java.util.ArrayListimport java.util.Random

public class MainFunction {

private ArrayList<MyCard>cards = new ArrayList<MyCard>()

private int[] cardNumArr = new int[52]

private int[] mycards = new int[5]

private int[] p1cards = new int[5]

public static void main(String[] args) {

MainFunction mainfunc = new MainFunction()

mainfunc.makeCards()

mainfunc.cardNumArr = mainfunc.shuffleCards(mainfunc.cardNumArr)

mainfunc.catchCards()

mainfunc.showAllCardsOfHand()

//mainfunc.printNums()

}

/**

* 洗牌

* @param cardNums

* @return

*/

private int[] shuffleCards(int[] cardNums){

int size = cardNums.length

int[] returnNums = new int[size]

//System.out.println(cardNums[0]+"=========================")

Random rand = new Random()

for(int i=size-1i>0i--){

int nextInt = rand.nextInt(i)

returnNums[size-1-i] = cardNums[nextInt]

cardNums[nextInt] = cardNums[i]

cardNums[i] = returnNums[size-1-i]

//System.out.println("suijishu:"+nextInt+"||zhi:"+returnNums[size-1-i])

}

returnNums[size-1] = cardNums[0]

return returnNums

}

/**

* 抓牌

*/

private void catchCards(){

for(int i=0i<5i++){

mycards[i] = cardNumArr[2*i]

p1cards[i] = cardNumArr[2*i+1]

}

}

private void showAllCardsOfHand(){

System.out.print("你手中的牌是:||")

for(int i=0i<5i++){

MyCard myCard = cards.get(mycards[i]-1)

System.out.print(myCard.toString()+"||")

}

System.out.println()

System.out.print("对家手中的牌是:||")

for(int i=0i<5i++){

MyCard myCard = cards.get(p1cards[i]-1)

System.out.print(myCard.toString()+"||")

}

}

/**

* 显示牌的顺序

*/

private void printNums(){

for(int i=0i<cardNumArr.lengthi++){

System.out.print(cardNumArr[i]+",")

}

}

/**

* 制作卡片

*/

private void makeCards(){

for(int i=1i<=13i++){

for(int j=1j<=4j++){

//System.out.println((i-1)*4+j)

MyCard card = new MyCard((i-1)*4+j, j, i)

cardNumArr[(i-1)*4+j-1] = (i-1)*4+j

cards.add(card)

}

// MyCard card1 = new MyCard((i-1)*4+1, 1, i)

// MyCard card2 = new MyCard((i-1)*4+2, 2, i)

// MyCard card3 = new MyCard((i-1)*4+3, 3, i)

// MyCard card4 = new MyCard((i-1)*4+4, 4, i)

// cards.add(card1)

// cards.add(card2)

// cards.add(card3)

// cards.add(card4)

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11100382.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存