Java学习之课后习题

第三四章
4.使用正则表达式编写程序进行邮箱地址的正确性验证

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class MatcherDemo {
	public static void main(String[] args){
   String str = "838217604@qq.com";
   String demo = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";
   Pattern p=Pattern.compile(demo);
   Matcher m=p.matcher(str);
   if(m.matches()){
   System.out.println("邮箱正确!");
   }else{
   System.out.println("邮箱不正确!");
   }
}
}

5.编写一个简单的网页注册程序,使用正则表达式进行手机号码,邮箱地址及身份证号码的正确性验证。

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Check {
   public static void main(String[] args) {
	   Pattern p = null;
       Matcher m = null;
       boolean b = true;
       @SuppressWarnings("resource")
	Scanner sc = new Scanner(System.in);
       
       System.out.println("------用户注册------");
       //匹配手机号
       System.out.println("请输入你的手机号");
       String phone = sc.nextLine();
       p = Pattern.compile("^[1][3][0-9]{9}$");
       m = p.matcher(phone);
       b = m.matches();
      
       //匹配邮箱地址
       System.out.println("请输入你的邮箱");
       String email = sc.nextLine();
       p = Pattern.compile("^[A-Za-z0-9]+@([A-Za-z0-9]+\\.){1,2}[A-Za-z0-9]+$");
       m = p.matcher(email);
       b = m.matches();
       
   
       //匹配身份证号码
       System.out.println("请输入你的身份证号码");
       String ID = sc.nextLine();
       p = Pattern.compile("^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$");
       m = p.matcher(ID);         
       
       b = m.matches();
       
       if(b) {
           System.out.println("注册成功");
       } else {
           System.out.println("信息填写不正确!");
       }

       
   }
}

6.用方法引用编写上一篇的17题

public interface myInter {
    void test(int x);
}

public abstract class Student {
   public double NO;
   public String name;
   public int garede;
   
   abstract void scholarship();
}

public class Scholarship {
   static void cal_ungraduate(int garde) {  //本科生计算标准
	   if(garde >=90 )  System.out.println("恭喜你获得一等奖学金!");
		  if(garde >=80 && garde < 90)  System.out.println("恭喜你获得二等奖学金!");
		  if(garde >=70 && garde <80)  System.out.println("恭喜你获得三等奖学金!");
		  if(garde <70 )  System.out.println("很遗憾没有获得奖学金,继续努力!"); 
   }
    
   static void cal_pogarduate(int garde) {  //研究生计算标准
	   if(garde >=95 )  System.out.println("恭喜你获得一等奖学金!");
		  if(garde >=90 && garde < 95)  System.out.println("恭喜你获得二等奖学金!");
		  if(garde >=80 && garde <90)  System.out.println("恭喜你获得三等奖学金!");
		  if(garde <80 )  System.out.println("很遗憾没有获得奖学金,继续努力!");
   }
}


public class TestStudent {
    static void compTest(myInter p,int grade) {
    	p.test(grade);
    }
	public static void main(String[] args) {
		compTest(Scholarship::cal_ungraduate,90);
		compTest(Scholarship::cal_pogarduate,90);
	
	}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java语言程序设计课后答案 作业参考答案 习题一 4、如何建立和运行Java程序, 首先启动文本编辑器,如记事本、UltraEdit等,编辑程序代码,并以.Java作为文件 扩展名保存程序源代码;然后进入dos环境利用javac编译源程序,生成扩展名为.class的 字节码文件;再利用命令java运行字节码文件,得到程序的运行结果。在集成开发环境J builder、Eclipse下,可以完成程序的编辑、编译、调试及运行等所有任务。 5、 public class LikeJava { public static void main(String [] args) { System.out.println("I Like Java Very much!"); } } 习题二 5、 (1) 45 (2) false (3) 14 (4) 14 (5),6 (6) true (7) 12 9、 public class Volume { public static void main(String [] args) { double r=0,v=0; r=double.parseDouble(args[0]); v=4*3.14159/3*r*r*r; System.out.println("球体积为:"+v); } } 习题三 8、 public class Factorials { public static void main(String args[]) { int i, j; long s=0, k; i=1; do //外循环开始 { k = 1; j=1; do{//内循环开始 k = k * j; //内循环体 j++; }while(j<=i);//内循环结束 System.out.println(i + "!=" + k); s = s + k; i++; }while(i<=20); //外循环结束 System.out.println("Total sum=" + s); } } 10、 public class Num { public static void main(String[]args) { int i,j,k,n; for (n=100;n<1000;n++) { i=n/100; j=(n-i*100)/10; k=n%10; if (i*i*i+j*j*j+k*k*k==n) System.out.print(n+" "); } } } 习题四 5、 import java.util.Scanner; class Factor{ long fac(int m) {if(m==0""m==1)return 1; else return m*fac(m-1); } public static void main(String [] args) {int i,n; long sum=0; String s=""; Scanner input=new Scanner(System.in); System.out.print("Please input n: "); n=input.nextInt(); Factor f=new Factor(); for(i=1;i<=n;i++) { System.out.println(f.fac(i)); sum=sum+f.fac(i); s=s+i+"!+"; } System.out.println(s.substring(0,s.length()-1)+"="+sum); } } 习题五 2、 import java.io.*; public class YangHuiOk { public static void main (String args[]) throws IOException { int max,a[][],i,j; char x; System.out.print("请输入杨辉三角要显示的行数: "); x=(char)System.in.read(); max = Integer.parseInt(String.valueOf(x)); a=new int[max][]; for (i=0;i<max;i++) { a[i]=new int[i+1]; } a[0][0]=1; for (i=1;i<max;i++) { a[i][0]=1; a[i][a[i].length-1]=1; for (j=1;j<a[i].length-1;j++) { a[i][j]=a[i-1][j-1]+a[i-1][j]; } } for(i=0;i<max;i++) { //for(j=0;j<=max-i;j++) System.out

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值