天天看點

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) 來周遊等等。不過還有很多内容沒有了解通透,會花時間去深入學習的。

繼續閱讀