package pro_0410_homework;
/**
* 1、编写一个程序,实现从命令行参数输入两个字符串类型的数值,并计算输出两个数值的和。[必做题]
*/
public class HomeWork01
{
public static void main(String[] args)
{
//判断来自命令行的个数以及是不是数字
try{
if(args.length !=2)
{
throw new ArrayIndexOutOfBoundsException("参数不够");
}
float x=Float.parseFloat(args[0]);
float y=Float.parseFloat(args[1]);
System.out.println(x+y);
}catch(ArrayIndexOutOfBoundsException e) {
e.printStackTrace();
}catch(NumberFormatException e) {
System.err.println("参数格式错误不是数值型的");
e.printStackTrace();
}
}
}
package pro_0410_homework;
/**
* 2、下面的一串字符,请统计其中0'到9'的各个数字的个数。
* 原字符串: /1254782354987012345978
* 输出: 0:1 1:2 2:3 3:2 4:3 5:3 7:3 8:3 9:3
*/
public class HomeWork02
{
public static void main(String[] args)
{
String str="91254782354987012345978";
char[] ch=str.toCharArray();
int a[]=new int[10];
for(int i=0;i
package pro_0410_homework;
/**
* 2、编写一个程序,实现从命令行参数输入一字符串,统计该字符串中字符"e”出现的次数。
* (识点: String中常用的方法) [必做题]
*/
public class HomeWork03
{
public static void main(String[] args)
{
StringBuffer str=new StringBuffer();
for(int i=0;i
package pro_0410_homework;
/**
* 1.写一个方法判断一个字符串是否对称
*/
public class HomeWork04
{
public static void main(String[] args)
{
String str="aaaaa";
System.out.println(HomeWork04.show3(str));
}
//方法一
public static boolean show(String str)
{
StringBuffer str2=new StringBuffer();
for(int i=0;i
package pro_0410_homework;
import java.util.Scanner;
/**
* 2.给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串的所有出现位置.
* 如:"abcbcbabcb34bcbd"中,"bcb"子串的出现位置为: 1,7,12.字符串和子串均由用户输入
*/
public class HomeWork05
{
public static void main(String[] args){
try {
Scanner s=new Scanner(System.in);
System.out.println("请输入一个父字符串:");
String str1=s.nextLine();
if(str1.length()<=0) {
throw new Exception("请输入有效字符");
}
System.out.println("请输入一个子字符串:");
String str2=s.nextLine();
if(str2.length()<=0) {
throw new Exception("请输入有效字符");
}
HomeWork05.show(str1, str2);//1,7,12
}catch(Exception e) {
e.printStackTrace();;
}
}
public static void show(String str1, String str2){
int len;//记录每个串的下标
int c=str1.length();//str1原有的长度
int l=0;//原有长度减去截下的新字符子串长度
while((len=str1.indexOf(str2)) !=-1){
str1=str1.substring(len+str2.length());//返回的新的子串
System.out.println(len+l);
l=c-str1.length();
}
}
public static void show2(String str1, String str2) {
//定义计数器
//int count = 0;
//定义变量记录位置
int index = 0;
while( (index = str1.indexOf(str2,index)) !=-1 )
{
System.out.println("index=" + index);
index = index + str2.length();
//count++;
}
if(index==-1) {
System.out.println("没有该子串");
}
//return count;
}
}
package pro_0410_homework;
/**
* 3.String s=”name=zhangsan age=18 classNo=高校个体3班”;
* 将上面的字符串拆分,结果如下:
* zhangsan 18 高校个体3班
*/
public class HomeWork06
{
public static void main(String[] args)
{
String s="name=zhangsan age=18 classNo=高校个体3班";
String[] s1 = s.split(" ");
StringBuffer sb =new StringBuffer();
for (int i = 0; i < s1.length; i++) {
String[] s2 =s1[i].split("=");
sb.append(s2[1]);
sb.append(" ");
}
System.out.println(sb);
}
}
package pro_0410_homework;
/**
* 4.String s = "zhangsan@ www neusoft com"
* 请输出所有子串
* zhangsan
* www
* neusoft
* com
*/
public class HomeWork07
{
public static void main(String[] args)
{
String s = "zhangsan@ www neusoft com";
s=s.replaceAll("@", "");
String[] s1=s.split(" ");
for(String item:s1)
{
System.out.println(item);
}
}
}
package pro_0410_homework;
/**
* 5.现在有字符串:String s1=" SSSCCsdfgsdAX@$#67 ";
String s2="sssdCCsdfGSDAX@$#67";
完成以下操作:【默认的是对 s1操作】
(1):保存在字符数组中;
(2):取得第三个元素值;
(3):打印输出该字符串的每个字符;
(4):截取"sd"该子串;
(5):返回"67"的下标位置
(6):返回"gsd"的最后一个下标位置
(7):判断两个字符串是否相等【两种方法操作】
(8):将两个字符串进行连接为一个字符串,s2在前面,s1在后面
(9):去掉s1前后空格
(10):将s1只要是大写字符全部转为小写
(11):判断最后面的字串是不是“67”
(12):判断s2最前面的字串是不是“sss”
*/
public class HomeWork08
{
public static void main(String[] args)
{
String s1=" SSSCCsdfgsdAX@$#67 ";
String s2="sssdCCsdfGSDAX@$#67";
char[] str1=s1.toCharArray();//(1)
char s3=str1[2];
System.out.println(s3);//(2)
for(int i=0;i
package pro_0410_homework;
/**
* 6.模拟编写trim方法()
*/
public class HomeWork09 {
public static void main(String[] args)
{
String str=" sqql ddde ";
String str1=trim(str);
System.out.println(str1);
}
public static String trim(String str){
int start=0;
int end=str.length()-1;
while(start 0) || (len < value.length)) ? substring(st, len) : this;
}*/
}
package pro_0410_homework;
import java.util.Scanner;
/**
* 2.解析一个邮箱地址是否合法,如果合法则打印出用户名部分和该邮箱所属的网站域名,
如果邮箱地址不合法则显示不合法的原因 [选做题]
*/
public class Mailtest
{
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
System.out.println("请输入邮箱:");
String email=in.nextLine();
boolean b=Mailtest.testmail(email);
//System.out.println(b);
}
public static boolean testmail(String email)
{
boolean flag=true;
if(email.indexOf("@")==-1 || email.indexOf(".")==-1)
{
System.out.println("邮箱中不包含@或.");
flag=false;
}
if(email.indexOf("@")!=email.lastIndexOf("@"))
{
System.out.println("邮箱中只能有一个@");
flag=false;
}
if(email.indexOf(".")!=email.lastIndexOf("."))
{
System.out.println("邮箱中只能有一个.");
flag=false;
}
if(email.indexOf(".")>email.indexOf("@"))
{
System.out.println("@必须在.之前");
flag=false;
}
return flag;
}
}
package pro_0410_homework;
/**
* 1、下面的一串宁符,以句号结束,请处理后让其倒序输出 (注意:有“句号")
* 原宁符串: i am a student.
* 输出: tneduts a ma i
*/
public class StringHomeWork
{
public static void main(String[] args)
{
String a="i am a student.";
System.out.println("原有字符串:"+a);
StringHomeWork.method2(a);
StringHomeWork.method3();
}
public static void method1(String a)
{
//方法一:
String[] strs=a.split("\\.");//拆分此字符串。输入的是英文状态下的. ,所以需要转义
String temp = null;
for(String item:strs)
{
//System.out.println(item);
temp=item;
}
for(int i=0;i
package pro_0410_homework;
/**
* 拓展:获取一个字符串在另一个字符串中出现的次数。
比如: 获取"ab"在"abkcadkabkebtkablkskab"中出现的次数
*/
public class T {
public static void main(String[] args){
int i=getTime("abkcadkabkebtkablkskab", "ab");//0 7 14 20
System.out.println("一共出现了:"+i+"次");
}
public static int getTime(String str1, String str2){
int count=0;
int len;
int c=str1.length();
int l=0;
System.out.println("原始字符串总长度:"+c);
while((len=str1.indexOf(str2)) !=-1){
count++;
str1=str1.substring(len+str2.length());
System.out.println("出现的位置:"+(len+l));//
System.out.println("每次减少的长度:"+ (c-str1.length()) );
l=c-str1.length();
}
return count;
}
}
package pro_0410_homework;
/**
* 三位数数字转化字符串补零,如:数字1转化后为"001"
*/
import java.util.Scanner;
public class TestStringCharset
{
public static void main(String[] args)
{
int input = new Scanner(System.in).nextInt();
String s = numberToStringNew(input);
System.out.println(s);
}
private static String numberToStringNew(int number)
{
String numberString = String.valueOf(number);
if (number <10){
numberString = "00" + numberString;
}else if (number < 100) {
numberString ="0"+ numberString;
}
return numberString;
}
}