Java实验3与第五周总结

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

public class Test5 {

    String s = "this is a test of java";
    static Test5 OneString = new Test5();
    public static void main(String[] args) {
        OneString.numberS();
        OneString.numberIS();
        OneString.numberwordIS();
        OneString.reversal();
    }
    public void numberS() {
        int number = 0;
        for(int i = 0 ; i < s.length(); i++) {
            char c = s.charAt(i);
            if(c=='s') {
                number++;
            }
        }
        System.out.println("S出现次数"+number);
    }
    public void numberIS() {
        int number = 0;
        for(int i = 1 ; i < s.length() ; i++) {
            char c = s.charAt(i-1);
            char c1 = s.charAt(i);
            if(c=='i'&&c1=='s') {
                number++;
            }
        }
        System.out.println("字符IS出现次数"+number);
    }
    public void numberwordIS() {
        int number = 0;
        String s[] = this.s.split(" ");
        for(String s1 : s) {
            if(s1.equalsIgnoreCase("is")) {
                number++;
            }
        }
        System.out.println("单词IS"+number);
    }
    public void reversal() {
        StringBuilder word  = new StringBuilder();
        for(int i = s.length()-1 ; i>=0 ; i--) {
            char c = s.charAt(i);
            word = word.append(s.charAt(i));
        }
        System.out.println("倒序输出 " + word);
    }
}

本题我没有将字符串转换为数组再操作。在判断字符is时我一开始并未想到如何去使循环检测二个字符,最后上网查了下,发现可以建二个char型的变量进行检测。
在寻找单词时,虽然用空格隔开了,但我一开始并未想到一个很好的方法去对比单词是不是is,最后询问朋友,得到了一个·新的方法。

2.请编写一个程序,使用下述算法加密或解密用户输入的英文字串。

import java.util.Scanner;
public class Test52 {

    static Scanner scanner = new Scanner(System.in);
    public static void main(String[] args) {
        StringBuilder s = new StringBuilder();
        String s2 = " ";
        String s1 = scanner.next();
        for(int i = 0 ; i < s1.length() ; i++) {
            int c = s1.charAt(i);
            if(c>=65 && c<=90) {
                if(c==88) {
                    c = 65;
                }else if(c==89) {
                    c = 66;
                }else if(c==90) {
                    c = 67;
                }else {
                    c+=3;
                }
                s2 = String.valueOf(s.append((char)c));
            }else
            if(c>=97 && c<=122) {
                if(c==120) {
                    c = 97;
                }else if(c==121) {
                    c = 98;
                }else if(c==122) {
                    c = 99;
                }else {
                    c+=3;
                }
                s2 = String.valueOf(s.append((char)c));
            }
        }
        System.out.println("加密前 "+s1);
        System.out.println("加密后 "+s);
    }

}

一开始我并未弄明白本题的意思,我以为只是将字符串往后移三位,然后发现还要加密,所以一开始不能理解。
经过我朋友的一番提点,我才想起来C语言老师曾经说过的加密,最后从这方面尝试了下。

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

public class Test53 {

    static String s = "ddejjdsEFALDFfnef2357 3ed";
    public static void main(String[] args) {
        int Word = 0;
        int word = 0;
        int other = 0;
        for(int i = 0;i < s.length();i++) {
            char c = s.charAt(i);
            if(c>='A' && c<='Z') {
                Word++;
            }else
            if(c>='a' &&c<='z') {
                word++;
            }else {
                other++;
            }
        }
        System.out.print("大写字母: "+Word+",小写字母 "+word+",其他 "+other);
    }

}

这个题目相较于前二题来说比较简单,没有出现什么错误。

第五周学习总结
这周总算是通过自己的自主学习学到了一些东西:
因为上周在课堂上老师讲解了string类的相关知识,所以这周在做作业时,主要是围绕string而学习:
1.char[] up = str.tocharArray();可以将字符串转换成数组,再通过以前学的C语言知识进行简单的转换即可。
2.string s[] = this.s.split(“”);可以进行切割,我觉得这在寻找单词时是很有用的。
3.stringBuilder与stringBuffer字符串变量。stringBuilder中的attend方法与insert方法在添加字符或字符串时有着很好的作用。
4.valueOf可以把其他类型的变量转换成字符串类型的变量。
这只是一些自我学习后的总结,如果以后发现有不完整的,再补充

原文地址:https://www.cnblogs.com/arthur-w/p/11593596.html

时间: 2024-10-21 06:42:54

Java实验3与第五周总结的相关文章

张季跃 201771010139《面向对象程序设计(java)》第十五周学习总结

张季跃 201771010139<面向对象程序设计(java)>第十五周学习总结 第一部分:理论知识学习部分 第13章 部署应用程序: JAR文件: Java程序的打包:程序编译完成后,程序员 将.class文件压缩打包为.jar文件后,GUI界面 程序就可以直接双击图标运行. .jar文件(Java归档)既可以包含类文件,也可 以包含诸如图像和声音这些其它类型的文件. JAR文件是压缩的,它使用ZIP压缩格式. 清单文件 (1) 每个JAR文件中包含一个用于描述归档特征的清单文 件(mani

201771010125王瑜《面向对象程序设计(Java)》第十五周学习总结

201771010125王瑜<面向对象程序设计(Java)>第十五周学习总结 一.理论部分 1.Java程序的打包:程序编译完成后,程序员将.class文件压缩打包为.jar文件后,GUI界面程序就可以直接双击图标运行. 2..jar文件(Java归档)既可以包含类文件,也可以包含诸如图像和声音这些其它类型的文件.JAR文件是压缩的,它使用ZIP压缩格式. 3.jar命令格式: jar {ctxui} [vfm0Me] [jar-file] [manifest-file] [entry-poi

张云飞 201771010143 《面对对象程序设计(java)》第十五周学习总结

JAR文件 Java程序的打包:程序编译完成后,程序员 将.class文件压缩打包为.jar文件后,GUI界面 程序就可以直接双击图标运行. .jar文件(Java归档)既可以包含类文件,也可 以包含诸如图像和声音这些其它类型的文件. JAR文件是压缩的,它使用ZIP压缩格式 jar命令 jar命令格式: jar {ctxui} [vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ... Jar命令选项: – -c 创

刘志梅201771010115.《面向对象程序设计(java)》第十五周学习总结

实验十五  GUI编程练习与应用程序部署 实验时间 2018-12-6 1.实验目的与要求 (1)一个JAR文件既可以包含类文件,也可以包含诸如图像和声音这些其他类型的文件. 创建一个新的JAR文件应该使用的常见命令格式:jar cvf JARFileName File1 File2..... 除类文件.图像和其它资源外,每个JAR文件包含一个用于描述归档特征的清单文件,清单文件被命名为MANIFEST.MF. 复杂的清单文件可能包含更多条目,这些清单条目被分成多个节:第一个节被称为主节,作用于

孔维滢 20171010110《面向对象程序设计(java)》第十五周学习总结

实验十五  GUI编程练习与应用程序部署 1.实验目的与要求 (1) 掌握Java应用程序的打包操作: (2) 了解应用程序存储配置信息的两种方法: (3) 掌握基于JNLP协议的java Web Start应用程序的发布方法: (5) 掌握Java GUI 编程技术. 2.实验内容和步骤 实验1: 测试程序1 package resource; import java.awt.*; import java.io.*; import java.net.*; import java.util.*;

王之泰201771010131《面向对象程序设计(java)》第十五周学习总结

第一部分:理论知识学习部分 第13 章 部署应用程序 1.jar文件 a) java 程序的打包:编译完成后,员 将.class 文件压缩打包为 .jar 文件后, GUI 界面 程序就可以直接双击图标运行.b) jar .jar文件( Java 归档)既可 以包含类文件,也归档)既可 以包含类文件,也以包含诸如图像和声音这些其它类型的文件. 以包含诸如图像和声音这些其它类型的文件. 以包含诸如图像和声音这些其它类型的文件. 以包含诸如图像和声音这些其它类型的文件.c) JAR 文件是压缩的,它

201671010114 2016-2017-2 《Java程序设计》第十五周学习总结

上周学习了Swing用户界面组件,通过在框架里添加Swing包里的组件来设计不同的界面.可以用trim来出去文本输入域中输入的空格,setText方法改变文本域中的内容,getText方法来获取用户键入文本.在这一章中事件响应处理方法大多用了lambda表达式.通过添加所需要的组件并利用布局管理器可以形成自己所要的界面.事件响应后的处理方法的编写也是比较重要的一部分.JAR文件既可以包含类文件,也可以包含诸如图像和声音这些其他类型的文件,它的目的是给使用者提供一个单独的文件.在实验的过程中不是特

201671010118 2016-2017-2《Java程序设计》 第五周学习心得

第五周的java课程已经结束,这周我们主要学习了继承,类.超类和子类.继承层次.多态等,老师讲这节课时用了课堂教学法,我觉得效果还不错,理解了它们的概念,以及之间的关系,掌握了超类的定义以及利用超类扩展子类,也知道了super的两种用法,super()表示调用超类的构造器,super.表示调用超类的方法.实验五中老师给了一个思考题"你觉得sumAllArea和sumAllPerimeter方法放在哪个类中更合适?"我没有真正了解,在这周学习中,基本概念理解了,但是编程还存在一定的问题,

杨玲 201771010133《面向对象程序设计(java)》第五周学习总结

<面向对象程序设计(java)>第五周学习总结 第一部分:课程准备部分 第二部分:理论知识学习部分 第四章:对象与类 4.1:类与对象的概念. 类:是构造对象的模板或蓝图.由类构造对象的过程称为创建类的实例. 对象:想要使用oop,一定要清楚对象的三个特性: 1)对象的行为:对象的行为使用可调用的方法定义的. ·2)对象的状态:每个对象都保存着描述当前特征的信息. 3)对象标识:如何辨明具有相同行为的相似性. 4.2:类之间的关系. 常见关系有:依赖.聚合.继承. 4.3:使用预定义类. 已学