Java实验3与第五周总结

2023-11-17

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,最后询问朋友,得到了一个·新的方法。

1582784-20190926182506783-375193191.png

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语言老师曾经说过的加密,最后从这方面尝试了下。

1582784-20190926182911674-1061819106.png

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);
    }

}

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

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

加密

import java.util.Scanner;
public class Test532 {
   public static void main(String[] args) {
               Scanner s=new Scanner(System.in);
               String str = s.next();
               char a[]= str.toCharArray();
               char b[] = new char[10] ;
               int n=0;
               for(int i = a.length-3;i<a.length;i++) {
                   b[n]=a[i];
                       n++;
               }
               for(int j=0;j<a.length-3;j++) {
                   b[n]=a[j];
                       n++;
               }
                  System.out.println(b);
           }
}

1582784-20190929193034247-357619380.png

转载于:https://www.cnblogs.com/arthur-w/p/11593596.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • electron ajax路径,electron 文件及文件夹上传的问题探索

    不晓得如今electron最新版的dialog解决了这个问题没有 选择文件夹的时候没有返回文件夹里面全部的文件 而是返回了文件夹的路径 一样的在网页端是能够经过webkitDirectory获取到文件夹下面全部的文件node 我试了不少的方
  • https开头的网址是什么意思_网址是什么意思?基础知识普及

    通俗的理解网址就是常说的URL 是很多个它一起组成了数量庞大形形色色的网站 网址 Uniform Resource Locator 统一资源定位器 是计算机Web网络相关的术语 就是网页地址的意思 我们的互联网世界就是由很多的网址组成 也可
  • 2021-04-06

    开源 开源的概念 开源 一词对应英文 Open Source 最初起源于软件开发领域 因此也称为 开放源代码 对应的软件则称为开源软件 Open Source Software 除了我们熟知的开源软件以外 开源的表现形式还有开源硬件 Ope
  • C++编译器为类自动生成拷贝构造函数的情况

    在一下情况中C 会为类自动生成拷贝构造函数 1 类中有虚函数 这种情况即意味着类的对象中有指向虚函数表的指针 考虑下面的情况 class A private int m a public virtual void ShowVal void
  • echarts实现气泡图(气泡之间不叠加)

    前言 echarts本身是有气泡图的 官方气泡图的特点是每个气泡的位置是基于坐标轴进行定位 如图1和2所示 但是本文所介绍的气泡图并不是官方所介绍的气泡图 而是一类区别于官方的图表类型 这种图表类型通常采用d3 js插件实现 如图3所示 从
  • MPC8314 (e300核) uboot 调试

    历经2个多月 完成了MPC8314最小系统 uboot 及Linux内核和根文件系统的调试 这是我第一次从头开始做小系统和内核的移植工作 虽然调试的比较辛苦 但是收获还是很多的 下面就介绍一下调试的过程和一些原理性的东西 1 MPC8314
  • Java基础面试题(三) (2020持续更新)

    前言 全套面试题请直接转到文章末尾 1 Java 中能创建 volatile 数组吗 能 Java 中可以创建 volatile 类型数组 不过只是一个指向数组的引用 而不 是整个数组 我的意思是 如果改变引用指向的数组 将会受到 vola
  • 馆员工作站的产品功能以及特点介绍

    馆员工作站通过跟电脑相互连接使用 工作人员对图书进行标签加工时 可使用设备对粘贴在图书上的RFID电子标签进行加工 通过条形码扫描器扫描图书上的条形码 同时识别图书上的电子标签 对电子标签和图书条码进行标签初始化操作 除此之外 还可以进行图
  • 6个常用的Python编程开发工具

    随着互联网的迅速发展 新技术不断创新 万物互联的时代 企业对IT人员的需求不断增加 很多想要进入IT行业的小伙伴经常会抱怨 想入门 却不知道从哪下手 最近就有不少小伙伴和小编抱怨 我想学Python 但是都不知道该使用哪些工具 别着急 学习
  • ES6入门

    一 let和const命令 1 let命令 类似于var 但是只在let所在的代码块有效 不存在变量提升 即一定要先声明后使用 暂时性死区 待理解 不允许重复声明 2 块级作用域 内层不影响外层 3 const命令 const声明一个常量
  • JAVA 什么是多态?

    面向对象编程有三大特性 封装 继承 多态 封装隐藏了类的内部实现机制 可以在不影响使用的情况下改变类的内部结构 同时也保护了数据 对外界而已它的内部细节是隐藏的 暴露给外界的只是它的访问方法 继承是为了重用父类代码 两个类若存在IS A的关
  • Ag Grid 组件 Vue Data Grid: Components

    目录 声明自定义组件 内联 组件 本地声明的组件 外部化的 JavaScript 组件 js 文件 外部化单文件组件 SFC vue 文件 注册自定义组件 注册内联自定义组件 注册非内联自定义组件 1 按名称 2 直接引用 已弃用 按名称引
  • 【yolov7系列二】正负样本分配策略

    本文主要就yolov7的正负样本筛选策略 并与yolov5 yolov6进行比对 首先接着上一篇yolov7系列一 网络整体结构 填几个小坑 希望对大家没有造成困扰 如 E ELAN层 在cat后需要要conv层做特征融合 还有SPPCSP
  • python virtualenv

    文章目录 powershell 参考文章 https www cnblogs com freely p 8022923 html https blog csdn net u012206617 article details 90294421
  • Inorder Successor in BST

    Given a binary search tree and a node in it find the in order successor of that node in the BST Note If the given node h
  • UNI-APP_APP(webview)集成X5内核

    官方文档 https uniapp dcloud net cn tutorial app android x5 html 腾讯TBS x5内核仅支持Android平台 iOS只能使用自带的WKWebview 打开项目的manifest js
  • Linux awk 命令

    AWK是一种处理文本文件的语言 是一个强大的文本分析工具 之所以叫AWK是因为其取了三位创始人 Alfred Aho Peter Weinberger 和 Brian Kernighan 的Family Name的首字符 语法 awk 选项
  • Keil环境下CANopenNode移植到STM32问题记录(一)---printf重定向问题

    文章目录 问题描述 问题结决 思考 相关文章 在直接将CANopenSTM32的示例工程直接移植到Keil环境下 如果移植工程未实现printf函数重定向 则要注释掉log printf下面的printf函数 使日志打印失效 Printf
  • SQL注入之盲注

    SQL注入之盲注 前言 一 盲注分类 二 具体解析 1 基于布尔的sql盲注 首先要先了解一下sql注入截取字符串常用的函数 1 mid 函数 2 substr 函数 3 left 函数 具体注入方法 2 基于时间的SQL盲注 3 基于报错
  • Java实验3与第五周总结

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