zoukankan      html  css  js  c++  java
  • 实验报告三及总结

    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)向下转型:子类对象 ← 父类对象;

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

  • 相关阅读:
    Java 蓝桥杯 算法训练 貌似化学
    Java 蓝桥杯 算法训练 貌似化学
    Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
    Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
    Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
    Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
    Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
    JAVA-蓝桥杯-算法训练-字符串变换
    Ceph:一个开源的 Linux PB 级分布式文件系统
    shell 脚本监控程序是否正在执行, 如果没有执行, 则自动启动该进程
  • 原文地址:https://www.cnblogs.com/hltltp/p/11587470.html
Copyright © 2011-2022 走看看