2018-12-14作业
1、编写一个程序,实现从命令行参数输入两个字符串类型的数值,并计算输出两个数值的和。 [必做题]
Scanner input=new Scanner(System.in);
System.out.println("请输入:");
String a=input.nextLine();
System.out.println("请输入:");
String b=input.nextLine();
Integer a0=Integer.valueOf(a);
Integer b0=Integer.valueOf(b);
int sum=a0+b0;
System.out.println(sum);
}
2、编写一个程序,实现从命令行参数输入一字符串,统计该字符串中字符“e”出现的次数。(识点:String中常用的方法) [必做题]
Scanner input=new Scanner(System.in);
System.out.println("请输入:");
String a=input.nextLine();
int sum=0;
for(int i=0;i<a.length();i++){
if(a.charAt(i)=='e'){
sum=sum+1;
}
}
System.out.println(sum);
}
2.解析一个邮箱地址是否合法,如果合法则打印出用户名部分和该邮箱所属的网站域名,如果邮箱地址不合法则显示不合法的原因
public static boolean testmail(){
Scanner input=new Scanner(System.in);
System.out.println("请输入邮箱地址:");
String a=input.nextLine();
if(true){
int sum=0;
for(int i=0;i<a.length();i++){
if(a.charAt(i)=='@'){
sum=sum+1;
if(sum>1){
System.out.println("邮箱地址中包含多个@");
}
if(sum==0){
System.out.println("邮箱地址中不包含@");
} }
if(a.indexOf('@')>a.indexOf('.')){
System.out.println("邮箱地址中.出现在@前面");
}
if(!(a.charAt(i)>='a'&&a.charAt(i)<='z'||
a.charAt(i)>='A'&&a.charAt(i)<='Z'
||a.charAt(i)>='0'&&a.charAt(i)<='9'
||a.charAt(i)=='.'||a.charAt(i)=='@'))
{System.out.println("邮箱中包含了其它字符");}
}return false;}
else{
System.out.println("邮箱格式合法");
return true;
}
}
3、分别在控制台输入字符串和子字符串,并计算字符串中子字符串出现的次数。 [选做题]
Scanner input=new Scanner(System.in);
System.out.println("请输入字符串a:");
String a=input.nextLine();
System.out.println("请输入子字符串b:");
String b=input.nextLine();
int count=0;
while (b.length() <=a.length()) {
if (a.indexOf(b) != -1) {
a = a.substring(a.indexOf(b) + b.length(), a.length());
count++;
} else {
break;
}
}
System.out.println("子字符串b在字符串a中出现了" + count + "次");
}
4、有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。 [选做题]
Scanner input=new Scanner(System.in);
System.out.println("请输入字符串a:");
String a=input.nextLine();
int sum1=0;
int sum2=0;
int sum3=0;
for(int i=0;i<a.length();i++){
if(a.charAt(i)>='a'&&a.charAt(i)<='z'||
a.charAt(i)>='A'&&a.charAt(i)<='Z')
{
sum1++;
}
if(a.charAt(i)>='0'&&a.charAt(i)<='9'){
sum2++;
}
sum3=a.length()-sum1-sum2;
}
System.out.println("字符串a中英文字符的数目为:"+sum1+"数字的数目为:"+sum2+"中文字符的数目为:"+sum3);
5.有一种数叫回文数,正读和反读都一样,如12321便是一个回文数。编写一个程序,从命令行得到一个整数,判断该数是不是回文数。 [选做题]
Scanner input =new Scanner(System.in);
System.out.println("请输入:");
int a=input.nextInt();
String b=new Integer(a).toString();
if(b.equals(new StringBuffer(b).reverse().toString())) {
System.out.println("a是回文数");
}else {
System.out.println("a不是回文数");
}
}