第五周课程总结&试验报告(三)

2023-10-27

Java实验报告

班级 计科二班 学号 20188423 姓名 邹健

完成时间 2019.9.27

评分等级

实验三 String类的应用

一、实验目的

(1) 掌握类String类的使用;

(2) 学会使用JDK帮助文档;

二、实验内容

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

① 统计该字符串中字母s出现的次数。

② 统计该字符串中子串“is”出现的次数。

③ 统计该字符串中单词“is”出现的次数。

④ 实现该字符串的倒序输出。

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

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

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

① 统计该字符串中字母s出现的次数。

② 统计该字符串中子串“is”出现的次数。

③ 统计该字符串中单词“is”出现的次数。

④ 实现该字符串的倒序输出
实验代码

package First;

public class Demo31 {

    public static void main(String[] args) {
         int a=0,b=0,l=0;
            String str="this is a test of java";
            char[] c=str.toCharArray();
            for(int i=0;i<c.length;i++){
                if(c[i]=='s'){
                    a++;
                }
                if(c[i]=='i'&&c[i+1]=='s'){
                    b++;
                    
                if(c[i-1]==' '&&c[i+2]==' '){
                        l++;
                    }
                }
            }
            System.out.println("s个数:"+a);
            System.out.println("is次数:"+b);
            System.out.println("单词is次数:"+l);
            
            System.out.print("倒序输出:");
            for(int i=c.length-1;i>=0;i--){
                System.out.print(c[i]);

    }

}
}


实验结果
1581815-20190927172027487-1614141940.png

(二)请编写一个程序,使用下述算法加密或解密用户输入的英文字串
实验代码:

package First;
import java.util.Scanner;
public class Demo32 {

    public static void main(String[] args) {        
           System.out.println("输入一个字符串");
            Scanner sc=new Scanner(System.in);
            String  s=sc.nextLine();
            char x[]=s.toCharArray();//数据输入并转换为数组
            char y[]=new char [x.length];
            int i=0,k=0;
            if (x.length==1 ||x.length==2 ) {
                System.out.println("请输入三位及以上字符");
            }
            else {
            for(i=x.length-3;i<x.length;i++) {
                y[k]=x[i];
                k++;
            }
            for(i=0;i<x.length-3;i++) {
                y[k]=x[i];
                k++;
            }//将密码后移
            System.out.println("加密的密码为");
            System.out.println(y);
        }
        
     }
     }

实验结果
1581815-20190927175941480-1829790256.png

(三).已知字符串“ddejidsEFALDFfnef2357 3ed”。输出字符串里的大写字母数,小写英文字母数,非英文字母数。
实验代码

package First;

public class Demo33 {

    public static void main(String[] args) {
                 String str = "ddejidsEFALDEfnef2357 3ed";
            char c[] = str.toCharArray();//将字符串转换为数组
            int x = 0, y = 0, z = 0;
            for(int i = 0;i < c.length;i ++) {
                if((int)c[i] >= 65 & (int)c[i] <= 90) 
                x++;
                if((int)c[i] >= 97 & (int)c[i] <= 122) {
                    y++;
                }
                
                if((int)c[i] < 65 || (int)c[i] > 90 & (int)c[i] < 97 || (int)c[i] > 122) {
                    z++;
                }
            }
            System.out.println("大写字母数:"+x);
            System.out.println("小写字母数:"+y);
            System.out.println("非英文字数:"+z);
        }

    
    }

实验结果
1581815-20190927181155521-1092789145.png

学习总结:
本周学习了对象的多态性
1)向上转型:子类对象→父类对象(自动转换)
2)向下转型:父类对象→子类对象(强制转换)

final关键字(表示的意思是最终的意思,也可以称为完结器)
1)使用final声明的类不能有子类
2)使用final声明的方法不能被子类所覆写
3)使用final声明的变量级成为常量,常量不可以修改

继承:在Java类中只允许单一继承,即一个子类只可以继承一个父类,允许进行多层继承,即一个子类可以有一个父类,一个父类还可以有一个父类,且子类将继承父类的非私有属性和方法,但父类与子类只能一对一,即一个父类下面只有一个子类,但是那个子类可以作为父类进行下一次的继承。

方法的重载与复写:在重载中,方法名称相同,参数的类型或者个数不同,而覆盖都是相同的。覆盖只有发生在父类与子类之间,而重载可以发生在同一类中。
main方法不能使用this与super
继承中super 可以调用父类的构造方法(非私有),调用父类的属性及其方法,this和super不能同时出现在一个构造函数里面,因为this必然会调用其它的构造函数,其它的构造函数必然也会有super语句的存在,所以在同一个构造函数里面有相同的语句,就失去了语句的意义,编译器也不会通过。
this()和super()都指的是对象,所以,均不可以在static环境中使用。包括:static变量,static方法,static语句块。

转载于:https://www.cnblogs.com/ZJ999999/p/11599640.html

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

第五周课程总结&试验报告(三) 的相关文章

  • 在java中将StreamWriter转换为OutputStream?

    我正在尝试使用 System setOut 将 System out 重定向到字符串 它需要一个 PrintStream 有什么方法可以将 StringWriter 转换为 Stream 以便我可以将其传递给 setOut 吗 你不能完全这
  • JPanel透明背景和显示元素[重复]

    这个问题在这里已经有答案了 我插入一个背景图e 变成 aJPanel但一些界面元素消失了 以下 Java Swing 元素不会出现 标签标题 标签 usuario 标签 密码 按钮加速器 你能否使图像透明或元素不透明 setOpaque f
  • Java Swing:清除JList而不触发监听器

    我的情况如下 我有一个 JList 只要在列表中进行选择 它就会触发搜索 使用 ListSelectionListener 我正在尝试使用以下命令重置列表上的选择list clearSelection 这样做的问题是使用clearSelec
  • 使用多个构造函数创建不可变类

    我正在阅读这一页 https docs oracle com javase tutorial essential concurrency imstrat html关于在 Java 中创建不可变类 并决定根据页面上概述的规范修改我正在编写的类
  • 删除 servlet 中的 cookie 时出现问题

    我尝试使用以下代码删除 servlet 中的 cookie Cookie minIdCookie null for Cookie c req getCookies if c getName equals iPlanetDirectoryPr
  • Java:检查给定日期是否在当前月份内

    我需要检查给定的日期是否在当前月份 我编写了以下代码 但 IDE 提醒我getMonth https docs oracle com javase 7 docs api java util Date html getMonth and ge
  • 如何在具有动态列的表中插入值 Jdbc/Mysql

    我想在具有动态列的表中添加值 我设法创建一个包含动态列的表 但我不知道如何插入数据 Create Table sql CREATE TABLE MyDB myTable level INTEGER 255 int columnNumber
  • 无法从后台服务通过 WiFi 访问互联网

    我将直接介绍我发现的一些事实 数据 如果您遇到 解决了类似的问题 请帮助我 我每 5 分钟向服务器发送一次数据 除非用户在服务器的帮助下手动将其关闭 wakeful broadcast receiver通过一个intent service
  • 业务代表与服务定位器

    Business Delegate 和 Service Locator 之间有什么区别 两者都负责封装查找和创建机制 如果 Business Delegate 使用 Service Locator 来隐藏查找和创建机制 那么 Busines
  • Java G1 GC 处理引用对象运行缓慢

    我已经在 J ava 上运行了计数器 它24小时工作 每秒点击通过100次左右 白天 GC 处理时间从 20 60 毫秒缓慢上升到 10000 60000 毫秒 然后下降到 20 60 毫秒 这种模式不时地重复 从 GC 日志中我发现 GC
  • Java中的DRY原则[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我一直在读关于DRY https en wikipedia org wiki Don 27t repeat yourself原则 虽然看起来
  • @TestPropertySource 不适用于 Spring 1.2.6 中使用 AnnotationConfigContextLoader 的 JUnit 测试

    似乎我在 Spring 4 1 17 中使用 Spring Boot 1 2 6 RELEASE 所做的任何事情都不起作用 我只想访问应用程序属性并在必要时通过测试覆盖它们 无需使用 hack 手动注入 PropertySource 这不行
  • 是什么原因导致“对象不是声明类的实例”? [复制]

    这个问题在这里已经有答案了 可能的重复 使用反射调用方法时 为什么会出现 对象不是声明类的实例 https stackoverflow com questions 7202988 why do i get object is not an
  • RMI 服务器:rmiregistry 或 LocateRegistry.createRegistry

    对于服务器端的RMI 我们需要启动吗rmiregistry程序 或者只是调用LocateRegistry createRegistry 如果两者都可以的话 各有什么优点和缺点 他们是同一件事 rmiregistry是一个单独的程序 您可以从
  • 使用 Maven 3 时 Cobertura 代码覆盖率为 0%

    读完这篇文章后 将 Cobertura 与 Maven 3 0 2 一起使用的正确方法是什么 https stackoverflow com questions 6931360 what is the proper way to use c
  • Android同步onSensorChanged?

    这是我的问题的后续 Android线程可运行性能 https stackoverflow com questions 36395440 android thread runnable performance 我在理解应用程序的同步方法时遇到
  • Java SE + Spring Data + Hibernate

    我正在尝试使用 Spring Data Hibernate 启动 Java SE 应用程序 并且到目前为止已经完成了以下操作 配置文件 Configuration PropertySource classpath hibernate pro
  • Java泛型类型

    当我有一个界面时 public interface Foo
  • 日期时间解析异常

    解析日期时 我的代码中不断出现异常错误 日期看起来像这样 Wed May 21 00 00 00 EDT 2008 这是尝试读取它的代码 DateTimeFormatter formatter DateTimeFormatter ofPat
  • Java 9 中紧凑字符串和压缩字符串的区别

    有什么优点紧凑的字符串 http openjdk java net jeps 254JDK9 中的压缩字符串 压缩字符串 Java 6 和紧凑字符串 Java 9 都有相同的动机 字符串通常实际上是 Latin 1 因此浪费了一半的空间 和

随机推荐

  • jquery控制a标签点击后禁止再次点击

    function test 防止多次点击提交 if div a hasClass disabled return div a addClass disabled div a layui layer btn0 text 提交中 div a l
  • mysql5.7 主从安装

    1 安装mysql5 7 1 1 下载mysql源安装包 wget http dev mysql com get mysql57 community release el7 8 noarch rpm 1 2 安装mysql源 yum ins
  • 自学C++(四)//三目运算符

    三目运算符 阅读如下代码 if a gt b z a else z b 该代码可以化简为z a gt b a b z a gt b a b 该式是一个具有3个操作对象的条件表达式 其中的 加起来叫三目y运算符 三目运算符的优先级 执行方向是
  • 1.根据VADeaths数据集,分别绘制城镇居民与农村居民死亡情况的饼图,添加标题及图例说明,并分析图表。

    1 根据VADeaths数据集 分别绘制城镇居民与农村居民死亡情况的饼图 添加标题及图例说明 并分析图表 2 将第1题的结果保存为PNG文件格式 并储存到当前工作目录下 png 农村居民死亡情况 png width 1200 height
  • 关于codeblocks出现can't find compiler的解决方法

    关于codeblocks不能找到编译器的问题我来介绍一下解决的方法 1 首先要确定你的codeblocks是自带编译器的版本 你可访问codeblocks的官网 www codeblocks org 来到下载页面 如下图 点击第一个Down
  • 策略模式+Spring——让我们的代码更加高大上一点

    if else if else 代码是实际的项目代码中出现的比例还是蛮高的 特别是针对一些业务需求根据不同类型来进行不同的业务处理 针对这种业务模型 我们来试着使用策略模式结合Spring来优化我们的代码 让代码更加高大上一点 为了更好得结
  • n的阶乘求解方法

    n 的阶乘求解方法有以下三种 第一种通过递归计算 n int input def N a 定义一个函数进行阶乘计算 if a 1 return a else return N a 1 a print N n 第二种方法就是调用math库 通
  • 狂神说Mybatis最全课堂笔记

    Mybatis 自己整理的狂神说Mybatis学习笔记 环境 JDK1 8 Mysql 5 7 maven 3 6 1 IDEA 回顾 JDBC Mysql Java基础 Maven Junit SSM框架 配置文件 最好的方式 看官方文档
  • 小程序,压缩图片

    我们在小程序上 直接上传手机相册及拍照的图片时 因为图片过大 如10m 手机端不像我们再计算机上传输那么快 也没那么稳定 解决办法 在图片上传前压缩图片 压缩图片就是将图片尺寸 图片质量降低 把这两个指数降低到合适的规格 1 首先在 wxm
  • RK3399 Linux-SDK mipi屏幕驱动及调试

    一 流程及通路 我接触到的三款mipi屏幕 基本的点亮流程都是很一致的 就是背光使能 背光点亮 屏幕使能 reset引脚按指定时序 波形拉高或拉低 初始化序列命令发送 3399的linuxSDK中 包含一种类似通用的屏幕驱动 本文档以使用此
  • [Eagle API]使用python打印eagle指定文件夹下的所有子文件名

    api https www yuque com augus gsjgn eagle api pq0y2y 官方api源码 var requestOptions method GET redirect follow fetch http lo
  • mojo安装

    docker安装mojo 官网 https developer modular com login 很奇怪登录页面不显示 类似于网站劫持 docker 安装mojo带jupyterlab的方式 https hub docker com r
  • const_cast

    const cast是一种C 运算符 主要是用来去除复合类型中const和volatile属性 没有真正去除 变量本身的const属性是不能去除的 要想修改变量的值 一般是去除指针 或引用 的const属性 再进行间接修改 用法 const
  • 烂泥:查看服务器的BIOS是否开启CPU虚拟化

    本文由秀依林枫提供友情赞助 首发于烂泥行天下 有关CPU是否支持虚拟化 我们可以通过相关的命令和软件进行查看 在windows系统下 我们可以使用CPU Z这个软件 如下图 在linux系统下 我们可以通过查看 proc cpuinfo文件
  • Python图像处理之图片文字识别(OCR)

    OCR与Tesseract介绍 将图片翻译成文字一般被称为光学文字识别 Optical Character Recognition OCR 可以实现OCR 的底层库并不多 目前很多库都是使用共同的几个底层OCR 库 或者是在上面进行定制 T
  • Python自动化处理邮件

    Python处理QQ邮箱邮件 以Chrome浏览器为例 需下载chromedriver exe下载地址 根据自己电脑上的Chrome版本下载相应的chromedriver exe 打开的Chrome浏览器主界面的地址栏输入网址 chrome
  • 计算机原理-数据

    数据 二进制 十进制 人类use 十六进制 2 4 16 是权 1011 011 2 3 0 2 2 2 1 2 0 0 2 1 1 2 2 1 2 3 8 0 2 1 0 0 25 0 125 27 375 七进制转十进制 权不一样 60
  • Centos7离线安装MySQL

    前言 离线安装的方式 很多人 包括我自己是很难的 yum的方式简单轻松 作者之前离线安装oracle的时候 因为关键的rpm包不齐 通过查安装日志一个一个的下离线包 反复安装3天才完成离线模式安装 今天总结下MySQL的离线安装步骤 环境
  • 【Unreal】TArray与std::vector之间转换

    std vector data 返回一个指向内存数组的直接指针 该内存数组由vector内部用于存储其拥有的元素 TArray GetData 同理 FMemory Memcpy 则将指定位置和大小的数组的内存空间拷贝 覆盖 到另一处指定的
  • 第五周课程总结&试验报告(三)

    Java实验报告 班级 计科二班 学号 20188423 姓名 邹健 完成时间 2019 9 27 评分等级 实验三 String类的应用 一 实验目的 1 掌握类String类的使用 2 学会使用JDK帮助文档 二 实验内容 1 已知字符