Java(实验四)Java标准类库-将一个字符串中的小写字母变成大写字母,并将大写字母变成小写字母

一、实验目的:
1、学习字符串String,Stringtime类的使用方法
2、简单正则表达式的使用方法
3、日期和日历类的使用方法
4、使用数据类型包装器进行数据类型转换
二、实验环境:
JAVA + Window + Eclipse
三、实验内容:
1、将一个字符串中的小写字母变成大写字母,并将大写字母变成小写字母

package code4;
import java.util.Scanner;
public class str {
    
    
     public static String StringChange(String s){
    
    
     	StringBuilder a=new StringBuilder();	
     	int len=s.length();	
     	char c;	
     	for(int i=0;i<len;i++)	{
    
        
     	   c=s.charAt(i);		
     	   if(c>='a' && c<='z')		
     	   {
    
    c=(char)(c-32);}		
     	      else if(c>='A' && c<='Z')		
     	           {
    
    c=(char)(c+32);}		
     	  a.append(c);	
     	  }	
     	return a.toString();
     		} 	
public static void main(String[] args) {
    
    	
	// TODO Auto-generated method stub		
	System.out.println("请要转换的英文字符串:");		
	Scanner input=new Scanner(System.in);		
	String s=input.next();		
	System.out.println("你输入内容是:"+s);		
	System.out.println("转换后字符串为");		
	System.out.println(StringChange(s));	
	}}

2、找出两个字符串中所有共同的字符代码:

package code4;
import java.util.Scanner;
public class array {
    
     
	public static void main(String[] args) {
    
    	
		// TODO Auto-generated method stub		
		System.out.println("输入第一个字符串:");		
		Scanner input=new Scanner(System.in);		
		String s1=input.next();		
		System.out.println("输入第二个字符串:");		
		Scanner input1=new Scanner(System.in);		
		String s2=input1.next(); 		
		for (int i=0;i<s1.length();i++){
    
          
		      for (int j=0;j<s2.length();j++){
    
               	               
		       if (s2.charAt(j) == s1.charAt(i)){
    
                  
		       System.out.println(s2.charAt(j));              
		         }    
		           }   
		             }
		             	}}

3、定义一个正则表达式识别字符串的邮件地址。

package code4;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class regex {
    
     
	public static void main(String[] args) {
    
    	
		// TODO Auto-generated method stub		
		String fileContent="张三的邮箱是:[email protected] 1212  李四的邮箱:[email protected] 王五的邮箱:[email protected]";		
		//用Pattern编译一个表达式		
		Pattern p=Pattern.compile("[a-zA-Z0-9_]{1,20}@[a-zA-Z0-9]{2,10}[.](com|cn|org)");		//通过Pattern对象得到一个Matcher对象		
		Matcher m=p.matcher(fileContent);		
		//搜索符合正则表达式的子串 调用Matcher的find方法 如果找到了匹配的子串,返回真		
		while(m.find()){
    
    		
		//取出匹配的子串用group()方法			
		System.out.print("抓取的邮箱使用group方法:"+m.group()+"  ");
		System.out.println("抓取的邮箱使用start end方法:"+fileContent.substring(m.start(), m.end()));	
			}
				}}

4、编写一个程序,用Map实现学生成绩单的储存和查询 将成绩进行排序并储存到TreeSet中,求平均成绩最小值和最大值!

 package code4;
 import java.util.Collections;
 import java.util.Map;
 //import java.util.Map.Entry;
 import java.util.Set;
 import java.util.TreeSet;
 import java.util.Iterator;
 import java.util.HashMap;
 public class grade {
    
     
 	public static void main(String[] args) {
    
    	
 		// TODO Auto-generated method stub		
 		int sum=0,each;		
 		HashMap<String,Integer> hm=new HashMap<String,Integer>();		
 		hm.put("A", 58);		
 		hm.put("B", 32);		
 		hm.put("C", 34);		
 		hm.put("D", 98);		
 		hm.put("E", 78);		
 		hm.put("F", 86);		
 		hm.put("G", 48);		
 		Set set2=hm.keySet();		
 		System.out.println("排序后:");		
 		TreeSet<Integer> ts=new TreeSet<Integer>();		
 		Set<Map.Entry<String,Integer>> set=hm.entrySet();
 		Iterator<Map.Entry<String,Integer>> it=set.iterator();		
 		while(it.hasNext())	
 			{
    
    			
 			each=it.next().getValue();			
 			ts.add(each);			
 			sum += each;	
 				}		
 Iterator<Integer> i=ts.iterator();		
 while(i.hasNext()) {
    
    		
 	System.out.print(i.next()+" ");		
 	}		
System.out.println();		
System.out.println("最大值为:"+Collections.max(ts));		
System.out.println("最小值为:"+Collections.min(ts));		
System.out.println("平均值为:"+sum/ts.size());	
}}

5、给定一个整数-1234567,输出它的二进制,八进制,十六进制表示形式

package code4;
import java.util.Scanner;
public class zheng {
    
     	
public static void main(String[] args) {
    
    	
	// TODO Auto-generated method stub		 
	int n;		
	 System.out.println("输入一个整数:");		 
	 Scanner s=new Scanner(System.in);		 
	 n=s.nextInt();		
         System.out.println("二进制:" + Integer.toBinaryString(n));     		 
         System.out.println("八进制:" + Integer.toOctalString(n));       		 
         System.out.println("十六进制:" + Integer.toHexString(n));	
         }}

6、编写一个程序,检查当前系统的Java版本和类路经代码:

package code4;
public class version {
    
     
	public static void main(String[] args) {
    
    	
		// TODO Auto-generated method stub		
		System.out.println("版本:");		System.out.println(System.getProperty("java.version"));		
		System.out.println("类路径:");		System.out.println(System.getProperty("java.class.path"));	
		}}

7、编写JAVA程序,在其中调用外部程序cmd,并显示输出结果。

package code4;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class cmd {
    
     
	public static void main(String[] args) {
    
    	
		// TODO Auto-generated method stub					
		BufferedReader br = null;					
		try {
    
    						
		Process p = Runtime.getRuntime().exec("net user");
	        br = new BufferedReader(new InputStreamReader(p.getInputStream()));						
		String line = null;						
		while ((line = br.readLine()) != null) {
    
    
			System.out.println(line);				
		     }					
		}catch (Exception e) {
    
    					
			e.printStackTrace();				
			    } finally {
    
    						
			     if (br != null) {
    
    			
			     try {
    
    							
				br.close();						
				}catch (Exception e) {
    
    
				e.printStackTrace();						
					}					
						}	     
						  }	
	}	}

8、请使用java.Text.SimpleDateFormat类对日期进行格式化,形式如2005年8月10日。

 package code4;
 import java.text.SimpleDateFormat; 
 import java.util.Date;
 public class time {
    
     
 	public static void main(String[] args) {
    
    	
 		// TODO Auto-generated method stub		
 		Date ss = new Date(); 		
 		System.out.println("一般日期输出:" + ss); 		
 		SimpleDateFormat format0 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 		 		String time = format0.format(ss.getTime());		
 		SimpleDateFormat format1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
 		 		time = format1.format(ss.getTime());		
 		System.out.println("格式化结果1:" + time); 	
 			}	 
 	}

四、心得体会:
这个实验学习了字符串String、Stringtime类日期和日历类的使用方法以及简单正则表达式的使用方法。还有字符数组向字符串的转换。String类中包含了许多可以直接调用的经常使用的方法。学习了很多知识,比如发现string每次定义新的对象都会在新的栈中开辟空间用以来存储值。对于String 的迭代,可以使用for循环,利用charAt(i)获取,或者用for(Character c: A) 来遍历等等。不过还有很多内容没有了解通透,会花时间去深入学习的。

猜你喜欢

转载自blog.csdn.net/haha_7/article/details/109151992