• 实验报告三及总结


    java实验报告

    实验三:String类的应用

    一.实验目的

    (1)掌握类String类的使用。
    (2)学会使用JDK帮助文档。

    二.实验内容

    1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码、结果截图。)

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

    package zifu;
    
    public class Letter1 {
    	public static void main(String[] args) {
    		String str="this is a test of java";
    		int count=0;
    		for(int i=0;i<str.length();i++) {
    			if(str.charAt(i)=='s')
    				count++;
    		}
    		System.out.println("该字符串中字母“s”出现的次数:"+count);
    	}
    }
    

    结果截图

    (2)统计该字符串中子串"is"出现的次数。
    实验代码

    package zifu;
    
    public class Letter2 {
    	public static void main(String[] args) {
    		String str="this is a test of java";
    		int count=0;
    		for(int i=0;i<str.length();i++) {
    			if(str.charAt(i)=='i'&&str.charAt(i+1)=='s')
    				count++;
    		}
    		System.out.println("该字符串中子串“is”出现的次数:"+count);
    	}
    }
    

    结果截图

    (3)统计该字符串中单词"is"出现的次数。
    实验代码

    package zifu;
    
    public class Letter3 {
    	public static void main(String[] args) {
    		String str="this is a test of java";
    		String s[]=str.split(" ");
    		int count=0;
    		for(int i=0;i<s.length;i++) {
    			if(s[i].equals("is"))
    				count++;
    		}
    		System.out.println("该字符串中单词“is”出现的次数:"+count);
    	}
    }
    

    结果截图

    (4)实现该字符串的倒序输出。
    实验代码

    package zifu;
    
    public class Letter4 {
    	public static void main(String[] args) {
    		StringBuffer n=new StringBuffer();
    		n.append("this is a test of java");
    		String str=n.reverse().toString();
    		System.out.println(str);
    	}
    }
    

    结果截图

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

    实验代码

    package zifu;
    import java.util.*;
    public class Letter6 {
    	public static void main(String[] args) {
    	    Scanner sc=new Scanner(System.in);
    		String s=sc.nextLine();
    		char c[]=s.toCharArray();
    		char a[]=new char [c.length];
    		int i,j=0;
    		if(c.length==1) {
    			System.out.println(c[0]);
    		}
    		else if(c.length==2) {
    			System.out.print(c[1]);
    			System.out.println(c[0]);
    		}
    		else
    			for(i=c.length-3;i<c.length;i++) {
    				a[j]=c[i];
    				j++;
    			}
    		    for(i=0;i<c.length-3;i++) {
    		    	a[j]=c[i];
    		    	j++;
    		    }
    		    String str=String.valueOf(a);
    		    System.out.print(a);
    	}
    }
    

    结果截图

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

    实验代码

    package zifu;
    
    public class Letter5 {
    	public static void main(String[] args) {
    		String str="ddejidsEFALDFfnef2357 3ed";
    		int a=0, b=0, c=0;
    		for(int i=0;i<str.length();i++) {
    			if(str.charAt(i)>=65&&str.charAt(i)<=90) {
    				a++;
    			}
    			else if(str.charAt(i)>=97&&str.charAt(i)<=122) {
    				b++;
    			}
    			else
    				c++;
    		}
    		System.out.println("大写字母数:"+a);
    		System.out.println("小写英文字母数:"+b);
    		System.out.println("非英文字母数:"+c);
    	}
    
    }
    

    结果截图

    实验总结:

                      第一二题刚开始写的时候用的是书上的String的方法,但是对于String方法的用法还不够熟悉,就没有用。第三小题用的是StringBuffer方法,第一大题总体还是挺简单的,主要是要注意一些小细节,例如:用到方法的时候要加‘.';刚开始经常没加。
                      第二题刚开始觉得挺难的,后来我和同学讨论了一下,找了一下规律,发现还是挺简单的。但是在第二个输出的时候出现了一点问题,同时输出两个字符会变成两个字符的ascii码值相加。最后没有解决,就用两个语句输出了。
                      第三题感觉不是很难,通过判断就可以找出各个的字母数了。
    

    这次的实验题目总体没有什么问题。但对于String类的使用还不会,各种方法的使用都不太会,还有就是JDK帮助文档,暂时还没下载。

    学习总结:

    方法重载与覆写的区别

    this与super的区别

    this:1.访问本类中的属性,如果没有此属性则从父类中查找。

         2.访问本类中的方法,如果没有此方法则从父类中查找。
    
         3.调用本类构造,必须放在构造方法的首行。
    
         4.表示当前对象。
    

    super:1.访问父类中的属性。

            2.直接访问父类中的方法。
    
            3.调用父类构造,必须放在子类构造方法的首行。
    

    this与super必须放在子类构造方法的首行。

    final关键词:1.使用final声明的类不能有子类。

                     2.使用final声明的方法不能被子类所覆写。
    
                     3.使用final声明的变量即成为常量,常量不可以修改。
    

    抽象类:1.包含一个抽象方法的类必须是抽象类。

              2.抽象类和抽象方法都要使用abstract关键字声明。
    
              3.抽象方法只需声明而不需要实现。
    
              4.抽象类必须被子类继承,子类必须覆写抽象类中的全部抽象方法。
    

    对象的多态性:

    1.对象的多态性主要分为以下两种类型:
    (1)向上转型:父类对象 ← 子类对象;
    (2)向下转型:子类对象 ← 父类对象;

    在进行对象的向下转型之前,一定要发生对象向上转型。否则会出现对象转换异常。

  • 相关阅读:
    钓鱼
    Webpack3.x升级至 4.x 小记
    设计模式六大原则(总结)
    Spring Data RedisTemplate抛出SerializationException
    pcap文件过滤、分割、合并处理工具
    如何查看Linux服务器的负载
    java8 List按照两个属性第一个属性升序排序第二个属性降序排序
    什么是云原生
    vuecli创建vue3项目
    nfs 问题汇总
  • 原文地址:https://www.cnblogs.com/hltltp/p/11587470.html
Copyright © 2020-2023  润新知