JAVA第十一次作业
1.编写一个程序,实现从命令行参数输入两 个字符串类型的数值,并计算输出两个数值的 和。 [必做题]
package xhy; import java.util.Scanner; public class Text { public static void main(String[] args) { // TODO Auto-generated method stub Scanner input=new Scanner(System.in); System.out.println("请输入两个字符串类型的数值"); String a=input.next(); String b=input.next(); int c=Integer.parseInt(a); int d=Integer.parseInt(b); int e=c+d; System.out.println(e); } }
2编写一个程序,实现从命令行参数输入一 字符串,统计该字符串中字符“e”出现的次数 。(识点:String中常用的方法) [必做题]
package xhy; import java.util.Scanner; public class Text { public static void main(String[] args) { // TODO Auto-generated method stub Scanner input=new Scanner(System.in); System.out.println("请输入一个字符串"); String a=input.next(); int b=0; for(int i=0;i<a.length();i++) { switch(a.charAt(i)) { case'e': b+=1; } } System.out.println("该字符串中'e'出现"+b+"次"); } }
3.生成十个0~100之间的随机数,放到数组中 ,然后排序输出。(知识点:Math类取整,获 得随机数等) [必做题]
package xhy; import java.util.Arrays; import java.util.Random; import java.util.Scanner; public class Text { public static void main(String[] args) { // TODO Auto-generated method stub Random a=new Random(); int[]b=new int[10]; for(int i=0;i<b.length-1;i++) { int c=a.nextInt(100); b[i]=c; } Arrays.sort(b); System.out.println(Arrays.toString(b)); } }
4.巴黎时间比北京时间晚7个小时,纽约时间比 北京时间晚12个小时,试编写一程序,根据输入 的北京时间输出相应的巴黎和纽约时间。[选做题 ]
5、解析一个邮箱地址是否合法,如果合法则打印 出用户名部分和该邮箱所属的网站域名,如果邮 箱地址不合法则显示不合法的原因 [选做题] • 5.1 提示:邮箱地址不合法的因素: • 5.1.1邮箱地址中不包含@或. • 5.1.2邮箱地址中含有多了@或. • 5.1.3邮箱地址中.出现在@的前面 • 5.1.4用户名里有其他字符 课后作业 • 5.2实现步骤: • 5.2.1创建一个类,类名:mailtest • 类图如下:
package xhy; import java.util.Scanner; public class Text { public static boolean testMail(){ Scanner in = new Scanner(System.in); String s = in.next(); //indexOf方法 在字符串检索str 返回第一个出现的位置,如果找不到则返回-1 if(s.indexOf("@")==-1||s.indexOf(".")==-1){ System.out.println("邮箱地址中不包含@或."); return false; } //lastIndexOf方法 在str字符串中多次出现时,将返回最后一个出现的位置 if(s.indexOf("@")!=s.lastIndexOf("@")||s.indexOf(".")!=s.lastIndexOf(".")){ System.out.println("邮箱地址中含有多了@或."); return false; } // @的位置比 。大, @的位置靠后 if(s.indexOf("@")>s.lastIndexOf(".")){ System.out.println("邮箱地址中.出现在@的前面"); return false; } // 遍历@位置前面的数据 for(int i=0;i<s.indexOf("@");i++){ //charAt() 方法用于返回指定索引处的字符 if( (s.charAt(i)>='a'&&s.charAt(i)<='z')||(s.charAt(i)>='A'&&s.charAt(i)<='Z') ||(s.charAt(i)>='0'&&s.charAt(i)<='9')){ }else{ System.out.println("用户名里有其他字符"); return false; } } return true; } public static void main(String[] args) { // TODO Auto-generated method stub if(llt.testMail()){ System.out.println("邮箱格式合法"); }else{ System.out.println("邮箱格式不合法"); } } }