JAVA实验三及总结

JAVA第五周作业

Java实验报告三

第一题

1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码、结果截图。)
(1)、统计该字符串中字母s出现的次数。
(2)、统计该字符串中子串“is”出现的次数。
(3)、统计该字符串中单词“is”出现的次数。
(4)、实现该字符串的倒序输出。

实验代码

(1)统计该字符串中字母s出现的次数。


public class Letter {
	public static void main(String args[]) {
		
		String str="This is a test of Java";
		int count=0;
		
		char c[]=str.toCharArray();
		
		for(int i=0;i<c.length;i++) {
			if(c[i]=='s') {
				count++;
			}
		}
		System.out.println(count);
	}
}

运行结果

实验代码

(2)、统计该字符串中子串“is”出现的次数。


public class Character {
	
	public static void main(String args[]) {
		
		String str="This is a test of Java";
		int count=0;
		
		int i=0;
		while(str.indexOf("is",i)!=-1) {
			count++;
			i=str.indexOf("is",i)+1;
			
		}
		
		System.out.println(count);
	}

}

运行结果

实验代码

(3)、统计该字符串中单词“is”出现的次数。


public class Word {
	public static void main(String args[]) {
		
		String str="This is a test of Java";
		int count=0;
		
		int i=0;
		while(str.indexOf(" is ",i)!=-1) {
			count++;
			i=str.indexOf(" is ",i)+1;
			
		}
		
		System.out.println(count);

}
}

运行结果

实验结果

(4)、实现该字符串的倒序输出。


public class ReverseString {  
    public static void reverseString (String str){  
        StringBuffer stringBuffer = new StringBuffer (str);  
         
        System.out.print(stringBuffer.reverse());  
    }  
     
    public static void main (String args[]){  
        String originalString="This is a test of Java";  
         
        
        reverseString (originalString);         
    }  
}  

(此代码借鉴于一位CSDN大佬的StringBuffer方法,在自己的理解下进行了更改并理解了代码。)

import javax.swing.JOptionPane;  
  
public class ReverseString {  
    public static void reverseString (String str){  
        StringBuffer stringBuffer = new StringBuffer (str);  
         
        System.out.print(stringBuffer.reverse());  
    }  
     
    public static void main (String args[]){  
        String originalString;  
         
        originalString = JOptionPane.showInputDialog("Please input a String: ");  
         
        reverseString (originalString);         
    }  
}  

(此代码为CSDN上大佬的代码)

运行结果

2.请编写一个程序,使用下述算法加密或解密用户输入的英文字串。要求源代码、结果截图。

实验代码

import java.util.*;
public class Change {
	public static void main(String args[]) {
		
		Scanner jj = new Scanner(System.in);
		String y =  jj.next();
	
		int i=0;
		
		char c[]=y.toCharArray();
		
		for(i=0;i<c.length;i++) {
			c[i]=(char)(c[i]+3);
			
			//System.out.println(c[i]);
		}
		        String a = new String(c); 
		
		System.out.println(a);
}
}
		
	

室友的耐心教导,让我写出来了。

运行结果

3.已知字符串“ddejidsEFALDFfnef2357 3ed”。输出字符串里的大写字母数,小写英文字母数,非英文字母数。

实验代码


public class Classify {

        public static void main(String args[]) {
            
            String str = "ddejidsEFALDFfnef2357 3ed";
            
            char c[] = str.toCharArray();
            
            int count1 = 0, count2 = 0, count3 = 0;
            
            for(int i = 0; i <= str.length() - 1;i++){
                if(c[i] >= 'A' && c[i] <= 'Z'){
                    count1++;
                }
                
                else if(c[i] >= 'a' && c[i] <= 'z') {
                    count2++;
                }
                
                else {
                    count3++;
                }
            }
            
            System.out.println("大写字母数:"+count1);
            System.out.println("小写字母数:"+count2);
            System.out.println("非英文字母数:"+count3);
        }


}

运行结果

学习笔记

1、子类不能直接访问父类的私有属性,可通过get(),set()来间接访问。
2、super(),this()不可同时使用,因为其都必须放在首行,所以不可同时使用。
3、若删去super(),则无法使用父类的无参构造。
4、this(),super()不可出现在main方法中。
5、子类可扩大权限,不可缩小。

学习心得

好好学习,天天向上。

原文地址:https://www.cnblogs.com/yuhaner/p/11598085.html