第三次Java实验报告
Java实验报告
班级 计科二班 学号20188437 姓名 何磊
完成时间 2019/9/22
评分等级
实验三 String类的应用
- 实验目的
- 掌握类String类的使用;
- 学会使用JDK帮助文档;
- 实验内容
1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码、结果截图。)
- 统计该字符串中字母s出现的次数。
- 统计该字符串中子串"is"出现的次数。
- 统计该字符串中单词"is"出现的次数。
- 实现该字符串的倒序输出。
2.请编写一个程序,使用下述算法加密或解密用户输入的英文字串。要求源代码、结果截图。
3.已知字符串"ddejidsEFALDFfnef2357 3ed"。输出字符串里的大写字母数,小写英文字母数,非英文字母数。
- 实验过程(请自己调整格式)
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);
}
}

(二)运行结果

- 总结:
本次实验主要内容为字符串的处理,要学会善于利用String类和StringBuffer类中的方法。
加密解密题输入空格会导致只能输出空格前的字符,发现next()输入遇到空格时结束输入,改为nextLine()后解决。
同一问题有多种方法可以解决,举一反三就能学到更多。
本周学习了Java常用类库中的StringBuffer类以及package包的引用等,主要是一些概念类的知识,需要课余加以记忆巩固。

第三次Java实验报告的更多相关文章
- 第三周java实验报告
实验三 Java基本程序设计(2) 实验时间 2018-9-13 第一部分:理论知识回顾 第一章 再次了解了java“白皮书”的关键术语,java的常见术语,对于大多数“白皮书”的关键术语依然 ...
- 20135231 JAVA实验报告三:敏捷开发与XP实践
---恢复内容开始--- JAVA实验报告三:敏捷开发与XP实践 20135231 何佳 实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习 ...
- Java实验报告五:Java网络编程及安全
Java实验报告五:Java网络编程及安全 ...
- Java实验报告二:Java面向对象程序设计
Java实验报告二:Java面向对象程序设计 ...
- 20145203盖泽双:Java实验报告二
Java实验报告二:Java面向对象程序设计 实验要求: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验内容 ...
- 第五次java实验报告
Java实验报告 班级 计科二班 学号 20188437 姓名 何磊 完成时间2019/10/10 评分等级 实验四 类的继承 实验目的 理解抽象类与接口的使用: 了解包的作用,掌握包的设计方法. 实 ...
- 20155310第一周JAVA实验报告
20155310第一周JAVA实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 使用JDK和IDE编译.运行简单 ...
- 20145310第一周JAVA实验报告
20145310第一周JAVA实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 使用JDK和IDE编译.运行简单 ...
- 20145322第一次JAVA实验报告
20145322第一周JAVA实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验名称:Java开发环境的熟悉(Linux + Eclipse) 实验日期:2016.04.08 实 ...
随机推荐
- linux 安装go环境
https://golang.google.cn/dl/ 进入这个地址选择一个版本下载 wget https://dl.google.com/go/go1.13.4.linux-amd64.tar.g ...
- atom Editor文本自动选择问题
问题:如图中,我光标最初在42行,向上滑动鼠标,会自动选中42到所滑动行之间的文本 ,一般编辑器 都是要按shift 然后滑动鼠标 才有这个效果 解决方法: 是由于atom安装了atom-termin ...
- HDU–5988-Coding Contest(最小费用最大流变形)
Coding Contest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- python并发——进程间同步和通信
一.进程间同步 对于一些临界资源,不能使用并发无限消耗,就需要设置专门的临界标示,比如锁或者信号量等 from multiprocessing import Process, Lock import ...
- centos7下面改变亮度
通过改自己的配置文件来改变亮度的方法在我的机器上面是不中用了,我的是台式机,我用的集成显卡,目前我找到的还勉强的方法就是通过安装redshift来改变屏幕的亮度,我就是不喜欢太亮,差点瞎了. 具体是这 ...
- pip安装命令集合
先加速 使用清华大学镜像源(一定要用,会少很多坑) https://mirrors.tuna.tsinghua.edu.cn/help/alpine/ 超时加上参数 --default-timeou ...
- legend3---12、DB::table('user_questions')和UserQuestion查询的结果的格式不一样
legend3---12.DB::table('user_questions')和UserQuestion查询的结果的格式不一样 一.总结 一句话总结: 推荐使用模型查找的方式,可以直接数组方式访问: ...
- Flutter移动电商实战 --(4)打通底部导航栏
关于界面切换以及底栏的实现可参考之前写的一篇文章:Flutter实 ViewPager.bottomNavigationBar界面切换 1.新建4个基本dart文件 在pages目录下,我们新建下面四 ...
- 错误代码 2003不能连接到MySQL服务器在*.*.*.*(10061)
错误代码 2003不能连接到MySQL服务器在*.*.*.*(10061) 错误代码 2003不能连接到MySQL服务器在*.*.*.*(10061)哪位大侠知道怎么解决啊? 在线等!!! [[i] ...
- Sqlite的操作示例代码
import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.databa ...