java中String类及练习

 1、编写一个程序,实现从命令行参数输入两个字符串类型的数值,并计算输出两个数值的和。[必做题] 

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();
		}
	}
}

2、下面的一串字符,请统计其中0'到9'的各个数字的个数。
 * 原字符串: /1254782354987012345978
 * 输出: 0:1 1:2 2:3 3:2 4:3 5:3 7:3 8:3 9:3

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

 2、编写一个程序,实现从命令行参数输入一字符串,统计该字符串中字符"e”出现的次数。
 * (识点: String中常用的方法) [必做题]

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

1.写一个方法判断一个字符串是否对称 

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

2.给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串的所有出现位置.
 * 如:"abcbcbabcb34bcbd"中,"bcb"子串的出现位置为: 1,7,12.字符串和子串均由用户输入

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;
	}
}

3.String s=”name=zhangsan age=18 classNo=高校个体3班”;
 * 将上面的字符串拆分,结果如下:
 * zhangsan 18 高校个体3班 

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);
	}
}

4.String s = "zhangsan@ www  neusoft  com"
 * 请输出所有子串
 * zhangsan
 * www
 * neusoft
 * com

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

6.模拟编写trim方法()

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;
    }*/
}

2.解析一个邮箱地址是否合法,如果合法则打印出用户名部分和该邮箱所属的网站域名,
      如果邮箱地址不合法则显示不合法的原因 [选做题]

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;
	}
}

 1、下面的一串宁符,以句号结束,请处理后让其倒序输出 (注意:有“句号")
 * 原宁符串: i am a student.
 * 输出: tneduts a ma i

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

拓展:获取一个字符串在另一个字符串中出现的次数。
   比如: 获取"ab"在"abkcadkabkebtkablkskab"中出现的次数

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;
	}
}

三位数数字转化字符串补零,如:数字1转化后为"001"

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;
	}
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(java,常用类,String)