第十一次作业
编写一个程序,实现从命令行参数输入两 个字符串类型的数值,并计算输出两个数值的 和。
package work;
import java.util.Scanner;
public class work_01 {
/**\
* 1、编写一个程序,实现从命令行参数输入两个字符串类型的数值,并计算输出两个数值的和。
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
System.out.println("输入第一个数");
String str_01=input.next();
System.out.println("输入第二个数");
String str_02=input.next();
System.out.println("第一个数为:"+str_01+"\n第二个数为:"+str_02+"\n总和为"+(Integer.parseInt(str_01)+Integer.parseInt(str_02)));
}
}

• 2、编写一个程序,实现从命令行参数输入一 字符串,统计该字符串中字符“e”出现的次数 。(识点:String中常用的方法) [必做题]
package work;
import java.util.Scanner;
public class work_01 {
/**\
* 2、编写一个程序,实现从命令行参数输入一 字符串,统计该字符串中字符“e”出现的次数 。
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
System.out.println("请输入字符串");
String str=input.next();
int flag=0;
char []temp=str.toCharArray();
for (char c : temp) {
if(c=='e')
{
flag++;
}
}
System.out.println("字符串中拥有:"+flag+"个e");
}
}

• 3、生成十个0~100之间的随机数,放到数组中 ,然后排序输出。(知识点:Math类取整,获 得随机数等) [必做题]
package work;
import java.util.Arrays;
public class work_01 {
/**\
* 生成十个0~100之间的随机数,放到数组中 ,然后排序输出。(知识点:Math类取整,获 得随机数等)
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int []num=new int[10];
for(int i=0;i<10;i++)
{
num[i]=(int) (Math.random()*101-1);
}
Arrays.sort(num);
for (int i : num) {
System.out.println("随机数为:\n"+i);
}
}
}

4、巴黎时间比北京时间晚7个小时,纽约时间比 北京时间晚12个小时,试编写一程序,根据输入 的北京时间输出相应的巴黎和纽约时间。[选做题 ] 
package work;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class work_01 {
/**\
* 4、巴黎时间比北京时间晚7个小时,纽约时间比 北京时间晚12个小时,试编写一程序,根据输入 的北京时间输出相应的巴黎和纽约时间。
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
// TODO Auto-generated method stub
SimpleDateFormat sdf=new SimpleDateFormat("HH:mm:ss");
Calendar ca=Calendar.getInstance();
Scanner input=new Scanner(System.in);
System.out.println("请输入时间(直接输入数字以xx:xx:xx格式)");
String str=input.next();
Date day=sdf.parse(str);
System.out.println("北京时间:");
System.out.println(sdf.format(day));
System.out.println("巴黎时间");
System.out.println(sdf.format(new Date(day.getTime()+(7*60*60*1000))));
System.out.println("纽约时间");
System.out.println(sdf.format(new Date(day.getTime()+(12*60*60*1000))));
}
}

• 5、解析一个邮箱地址是否合法,如果合法则打印 出用户名部分和该邮箱所属的网站域名,如果邮 箱地址不合法则显示不合法的原因 [选做题]
• 5.1 提示:邮箱地址不合法的因素:
• 5.1.4用户名里有其他字符 课后作业
• 5.2实现步骤:
• 5.2.1创建一个类,类名:mailtest
package homework;
import java.util.Scanner;
public class StrWork {
public static boolean testMail(){
Scanner input = new Scanner(System.in);
String s = input.next();
if(s.indexOf("@")==-1||s.indexOf(".")==-1){
System.out.println("邮箱地址中不包含@或.");
return false;
}
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++){
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
StrWork test=new StrWork();
if(test.testMail()){
System.out.println("邮箱格式合法");
}else{
System.out.println("邮箱格式不合法");
}
}
}


浙公网安备 33010602011771号