Java实验报告

班级 计科二班 学号20188437 姓名 何磊

完成时间 2019/9/22

评分等级

实验三 String类的应用

  1. 实验目的
    1. 掌握类String类的使用;
    2. 学会使用JDK帮助文档;
  2. 实验内容

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

  3. 统计该字符串中字母s出现的次数。
  4. 统计该字符串中子串"is"出现的次数。
  5. 统计该字符串中单词"is"出现的次数。
  6. 实现该字符串的倒序输出。

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

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

  1.  
  1. 实验过程(请自己调整格式)

1.(一)实验代码

package第三次java实验;

public class Thisisatestofjava {

public static void main(String[] args) {

// TODO Auto-generated method stub

int count=0;

String s="this is a test of java";

System.out.println((","+s+",").split("s").length-1);

//方法一:split函数对字符串s在"s"位置进行拆分,然后通过.length得到拆分后的字符串的个数,减1得到"s"出现的次数

char c[]=s.toCharArray();

for(char e:c){

if(e=='s'){

count++;

}

}

//方法二:用toCharArray函数将字符串s变成字符数组,用foreach循环对字符数组进行遍历,判断并计数

System.out.println((","+s+",").split("is").length-1); //同上方法一

System.out.println((","+s+",").split(" is ").length-1); //同上

for (int i=c.length-1;i>= 0;i--) {

System.out.print(c[i]);

}

//利用字符数组下标递减输出

StringBuffer buffer = new StringBuffer(s);

System.out.println("\n"+buffer.reverse());

//定义成一个StringBuffer类,用StringBuffer类中的reverse()方法直接倒序字符串。

}

}

(二)运行结果

2.(一)实验代码

package 第三次java实验;

import java.util.Scanner;

public class 加密解密 {

    public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String s=input.nextLine(); //输入一个字符串
int length=s.length(); //取得字符串长度
char c[]=s.toCharArray(); //将字符串拆分为单个字符
if(length>2){ //如果字符串长度大于2进入循环
String p=s.substring(length-3); //截取字符串最后3位字符
for(int j=length-4;j>=0;j--){ //将字符串后移3位
c[j+3]=c[j];
}
char c1[]=p.toCharArray(); //将截取后的字符串拆分为单个字符
for(int k=0;k<3;k++){ //将截取的字符连接到字符数组前3位
c[k]=c1[k];
}
System.out.println(c); //输出
}
else{ //字符串长度小于3直接输出字符串
System.out.println(s);
}
for(int i=0;i<length;i++){ //将每个字符的ASCLL码值向后偏移三位
c[i]=(char)(c[i]+3);
}
System.out.println(c); //输出
}
}

(二)运行结果

3.(一)实验代码

package第三次java实验;

public class统计字符串 {

public static void main(String[] args) {

// TODO Auto-generated method stub

int ABC=0,abc=0,other=0;

String s="ddejidsEFALDFfnef2357 3ed";

char c[]=s.toCharArray();

for(char e:c){

if(e>='A'&&e<='Z'){

ABC++;

}

else if(e>='a'&&e<='z'){

abc++;

}

else{

if(e!=' '){

other++;

}

}

}

System.out.print("大写字母数:"+ABC+"\n小写字母数:"+abc+"\n非英文字母数:"+other);

}

}

(二)运行结果

  1. 总结:

本次实验主要内容为字符串的处理,要学会善于利用String类和StringBuffer类中的方法。

加密解密题输入空格会导致只能输出空格前的字符,发现next()输入遇到空格时结束输入,改为nextLine()后解决。

同一问题有多种方法可以解决,举一反三就能学到更多。

本周学习了Java常用类库中的StringBuffer类以及package包的引用等,主要是一些概念类的知识,需要课余加以记忆巩固。

第三次Java实验报告的更多相关文章

  1. 第三周java实验报告

        实验三 Java基本程序设计(2) 实验时间 2018-9-13 第一部分:理论知识回顾 第一章 再次了解了java“白皮书”的关键术语,java的常见术语,对于大多数“白皮书”的关键术语依然 ...

  2. 20135231 JAVA实验报告三:敏捷开发与XP实践

    ---恢复内容开始--- JAVA实验报告三:敏捷开发与XP实践 20135231 何佳 实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习 ...

  3. Java实验报告五:Java网络编程及安全

    Java实验报告五:Java网络编程及安全                                                                               ...

  4. Java实验报告二:Java面向对象程序设计

    Java实验报告二:Java面向对象程序设计                                                                               ...

  5. 20145203盖泽双:Java实验报告二

    Java实验报告二:Java面向对象程序设计 实验要求: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验内容 ...

  6. 第五次java实验报告

    Java实验报告 班级 计科二班 学号 20188437 姓名 何磊 完成时间2019/10/10 评分等级 实验四 类的继承 实验目的 理解抽象类与接口的使用: 了解包的作用,掌握包的设计方法. 实 ...

  7. 20155310第一周JAVA实验报告

    20155310第一周JAVA实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 使用JDK和IDE编译.运行简单 ...

  8. 20145310第一周JAVA实验报告

    20145310第一周JAVA实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 使用JDK和IDE编译.运行简单 ...

  9. 20145322第一次JAVA实验报告

    20145322第一周JAVA实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验名称:Java开发环境的熟悉(Linux + Eclipse) 实验日期:2016.04.08 实 ...

随机推荐

  1. THUWC2020 游记

    不知道标题该叫什么,那就叫游记吧.反正是来玩的. CSP-S 排到我省三十几名,也不知怎么就过了 THU 的初审. Day0 到了宾馆.和 cy 划了一晚上. 发现自己不会做这次月考数学题,丢人啊丢人 ...

  2. [Luogu] 天天爱跑步

    https://www.luogu.org/problemnew/show/P1600 https://www.zybuluo.com/wsndy-xx/note/1135243 乱写的暴力,这道题暴 ...

  3. OI程序常见的设计陷阱

    宏定义的问题 有时候为了方便,我会大量使用宏定义.但是最近我发现下面这两个宏定义老是出问题: #define SET(x,a) memset(x,a,sizeof(x)) inline void wo ...

  4. EM算法 小结

    猴子吃果冻 博客园 首页 新随笔 联系 管理 订阅 随笔- 35  文章- 0  评论- 3  4-EM算法原理及利用EM求解GMM参数过程   1.极大似然估计 原理:假设在一个罐子中放着许多白球和 ...

  5. java中的变量和数据类型

    变量和javascript的变量含义一样 在Java中,变量分为两种:基本类型的变量和引用类型的变量.(javascript中同样是这样的) 基本数据类型 基本数据类型是CPU可以直接进行运算的类型. ...

  6. Manacher 算法学习小记

    概要 一个字符串有多少个回文的字串?最多有 \(O(n^2)\) 级别个.但 Manacher 算法却可以用 \(O(n)\) 的时间复杂度解决这个问题.同时 Manacher 算法实现非常简单. 一 ...

  7. 最远 Manhattan 距离

    最远 Manhattan 距离 处理问题 K维空间下的n个点,求两点最远曼哈顿距离 思路 以二维为例介绍算法思想,即可类推到k维.对于P,Q两点,曼哈顿距离|Px-Qx|+|Py-Qy|可看作(±Px ...

  8. 【洛谷4001】 [ICPC-Beijing 2006]狼抓兔子(最小割)

    传送门 洛谷 Solution 直接跑最小割板子就好了. 代码实现 #include<stdio.h> #include<stdlib.h> #include<strin ...

  9. 实例分析jdom和dom4j的使用和区别 (转)

    实例分析jdom和dom4j的使用和区别   对于xml的解析和生成,我们在实际应用中用的比较多的是JDOM和DOM4J,下面通过例子来分析两者的区别(在这里我就不详细讲解怎么具体解析xml,如果对于 ...

  10. cloud toolkit同时部署多个服务器

    首先安装cloud toolkit安装完成之后重启idea 添加host主机信息: 部署到远程服务器 具体信息: 配置本地查看服务器日志信息 启动脚本信息 start.sh #! /bin/sh so ...