鱼C论坛

 找回密码
 立即注册
查看: 2484|回复: 0

[学习笔记] Java暑期学习Day30

[复制链接]
发表于 2017-8-3 23:58:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
303030


                               
登录/注册后可看大图



  1. import java.util.Scanner;

  2. public class Average4 {
  3.         public static void main(String[] args) {
  4.                
  5.                 double sum=0;
  6.                 int count=0;
  7.                 while(true){
  8.                         int number=nextInt();
  9.                         if (number==0){
  10.                                 break;
  11.                         }
  12.                         sum+=number;
  13.                         count++;
  14.                 }
  15.                 System.out.printf("平均%.2f%n",sum/count);

  16.         }
  17.         static Scanner console=new Scanner(System.in);
  18.         static int nextInt(){
  19.                 String input=console.next();
  20.                 while(!input.matches("\\d*")){
  21.                         System.out.println("请输入数字");
  22.                         input=console.next();       
  23.                 }
  24.                 return Integer.parseInt(input);
  25.         }

  26. }
复制代码
上例的nextInt()方法中,使用了Scanner的next()方法来取得用户输入的下个字符串,如果字符串不是数字格式,就会提示用户输入数字,String的matches()方法中设定了“\\d*”,这是规则(正则)表达式(Regular Expression ),表示检查字符串中的字符是不是数字,若是则matches()会返回true

  正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。


  构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合

  正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。


  matches 火柴 比赛(match的负数) 配的人或物

注意点:使用try、catch捕捉异常对象时要注意,如果父类异常对象在子类异常对象前被捕捉,则catch子类异常对象的区块永远不会被执行,编译程序会检查出这个错误。

  若catch异常后的区块内容重复了,以下这种就算重复。
    try{
做一些事
}catch(IOException e){
e.printStackTrace();
}catch(InterruptedException e){e.printStackTrace();
}catch(ClassCastException e){e.printStackTrace();
}
  这种撰写不仅无趣且对维护没有帮助。从JDK7开始,可以使用多重捕捉(Multi-catch)语法:

  try{做一些事...
}catch( IOException | InterruptedException | ClassCastException e ){
e.printStackTrace();
}

  这样撰写简洁得多,catch区块会在发生IOException、InterruptedException 或 ClassCastException 时执行,不过仍得注意异常的继承。catch括号中列出的异常不得有继承关系,否则会发生编译错误。






评分

参与人数 1鱼币 +4 收起 理由
小甲鱼 + 4

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 15:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表