zoukankan      html  css  js  c++  java
  • 第五周课程总结&试验报告(三)

    实验三 String类的应用

    一、实验目的

    • 掌握类String类的使用;
    • 学会使用JDK帮助文档;

    二、实验内容

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

    统计该字符串中字母s出现的次数。
    统计该字符串中子串“is”出现的次数。
    统计该字符串中单词“is”出现的次数。
    实现该字符串的倒序输出。

    实验源码:

    package com.company;
    public class Main {
        static String str = "this is a test of java";
    
        public static void main(String[] args) {
            query("s","该字符串中字母s出现的次数。");
            query("is","该字符串中子串“is”出现的次数。");
            query( " is ","该字符串中单词“is”出现的次数。");
    
            resultString();
        }
    
        public static void query(String str1, String sentence) {
            int count = 0;
            int temp = str.indexOf(str1);
            while(temp >= 0 && temp <= str.length()) {
                temp= str.indexOf(str1,temp+1);
                count++;
            }
            System.out.println(sentence+count);
        }
    
        public static void resultString() {
            String resultString = "";
            char[] charArray = str.toCharArray();           // 将字符串变成字符数组 String -> char []
            
            for (int i=charArray.length-1; i>=0; i--){
                resultString += charArray[i];
            }
    
            System.out.println(resultString);
        }
    }
    
    

    实验结果:

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

    实验源码:

    package com.company;
    
    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);            // Scanner = 处理输入的类 sc = 类的实例化
            String str = sc.nextLine();
    
            String s = "";
            char[] charArray = str.toCharArray();           // 字符串 -> 字符数组
    
            for (int i = 0; i < charArray.length; i++) {
                s += (char)((int)charArray[i]+3);
            }
    
            System.out.println(s);
        }
    }
    

    实验结果:


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

    实验源码:

    package com.company;
    
    public class Main {
        public static void main(String[] args) {
            String str = "ddejidsEFALDFfnef2357 3ed";
    
            char[] charArray = str.toCharArray();           
    
            String str1="";
            String str2="";
            String str3="";
    
            for (int i = 0; i < charArray.length; i++) {
                if(Character.isUpperCase(charArray[i]))         
                    str1+=charArray[i];
                else if(Character.isLowerCase(charArray[i]))    
                    str2+=charArray[i];
                else        // 非字母
                    str3+=charArray[i];
            }
    
            System.out.println(str1);
            System.out.println(str2);
            System.out.println(str3);
        }
    }
    

    实验结果:

    内容总结:

    this和super

    使用方法
    • 1.如果子类中出现非私有的同名变量,要引用时:
      (1) 访问父类中的同名变量,用super
      (2) 访问子类本类中的变量,用this
    • 2.如果子类重写方法时,要引用父类中的已经定义好的功能时,用super.方法
    • 3.如果子类中的构造函数需要指定父类中其他构造函数进行初始化,使用super(参数)的形式
    • 4.如果子类中的构造函数中,需要引用父类中已经定义好的方法,使用super(参数)
    • mian方法中不能使用this和super!!
    区别
    • super代表父类对象的引用
    • this代表本类对象的引用
    • this和super都可以调用构造方法,但两者市不可以同时出现的,因为两者调用构造方法市都必须放在构造方法的首行。
    • 无论子类如何操作,最终必须要先调用父类中的构造方法。

    final关键字

    当用final去修饰一个类的时候,表示这个类不能被继承。
    • final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误。final变量一旦被初始化后不能再次赋值。
    • 本地变量必须在声明时赋值。 因为没有初始化的过程
    • 在匿名类中所有变量都必须是final变量。
    • final方法不能被重写, final类不能被继承
    • 接口中声明的所有变量本身是final的。类似于匿名类.

    重载与覆写

    方法重载: 方法名称相同,参数的个数及类型不同。

    方法覆写: 方法名称,返回值类型,参数的个数,参数的类型均相同。

  • 相关阅读:
    【C++】资源管理
    【Shell脚本】逐行处理文本文件
    【算法题】rand5()产生rand7()
    【Shell脚本】字符串处理
    Apple iOS产品硬件参数. 不及格的程序员
    与iPhone的差距! 不及格的程序员
    iPhone游戏 Mr.Karoshi"过劳死"通关. 不及格的程序员
    XCode V4 发布了, 苹果的却是个变态. 不及格的程序员
    何时readonly 字段不是 readonly 的?结果出呼你想象!!! 不及格的程序员
    object file format unrecognized, invalid, or unsuitable Command 不及格的程序员
  • 原文地址:https://www.cnblogs.com/zsbhs/p/11594684.html
Copyright © 2011-2022 走看看